2.CSS学习笔记

CSS笔记

1.CSS基础语法

CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。

eg:

selector {
	declaration1;
	declaration2;
	 ... 
	declarationN 
	}

选择器通常是您需要改变样式的 HTML 元素。

每条声明由一个属性和一个值组成。属性和值被冒号分开。
eg:

h1 {
	color:red;
	font-size:14px;
	}
ps:html中大小距离的单位为px(像素)

ps:如果值为若干单词,则要给值加引号
p {font-family: "sans serif";}

你可以对选择器进行分组,这样,被分组的选择器就可以分享相同的声明。用逗号将需要分组的选择器分开。

h1,h2,h3,h4,h5,h6 {
  color: green;
  }

2.CSS选择器

id选择器一般用于js,class一般用于css。

class常用命名方式为top,left,top_left…

id常用命名方式为 实际使用名,比如说,做计算器就命名calculator


1.id选择器

id 选择器以 #来定义。

eg:

<!--在html中定义id-->
<p id="red">这个段落是红色。</p>
<p id="green">这个段落是绿色。</p>
<!--CSS中-->
#red {color:red;}
#green {color:green;}

ps:id 属性只能在每个 HTML 文档中出现一次。


在现代布局中,id 选择器常常用于建立派生选择器。

eg:

#sidebar p {
	font-style: italic;
	text-align: right;
	margin-top: 0.5em;
	}
ps:上面的样式只会应用于出现在 id 是 sidebar 的元素内的段落。

通过这种用法,即使被标注为 sidebar 的元素只能在文档中出现一次,这个 id 选择器作为派生选择器也可以被使用很多次:

eg:

#sidebar p {
	font-style: italic;
	text-align: right;
	margin-top: 0.5em;
	}

#sidebar h2 {
	font-size: 1em;
	font-weight: normal;
	font-style: italic;
	margin: 0;
	line-height: 1.5;
	text-align: right;
	}
ps:在这里,与页面中的其他 p 元素明显不同的是,sidebar 内的 p 元素得到了特殊的处理,同时,与页面中其他所有 h2 元素明显不同的是,sidebar 中的 h2 元素也得到了不同的特殊处理。

2.类选择器

在 CSS 中,类选择器以一个点号显示:

eg:

<!--在html中-->
<h1 class="center">
This heading will be center-aligned
</h1>

<p class="center">
This paragraph will also be center-aligned.
</p>
<!--在CSS中-->
.center {text-align: center}

和 id 一样,class 也可被用作派生选择器:

.fancy td {
	color: #f60;
	background: #666;
	}
ps:在上面这个例子中,类名为 fancy 的更大的元素内部的表格单元都会以灰色背景显示橙色文字。(名为 fancy 的更大的元素可能是一个表格或者一个 div)

元素也可以基于它们的类而被选择:

td.fancy {
	color: #f60;
	background: #666;
	}
ps:类名为 fancy 的表格单元将是带有灰色背景的橙色
eg:<td class="fancy">

3.元素选择器
h2 {
	font-size: 1em;
	font-weight: normal;
	font-style: italic;
	margin: 0;
	line-height: 1.5;
	text-align: right;
	}

4.通配符选择器
*
{
	margin : 0px;
	padding : 0px;
}

3.CSS创建

1.外部样式表
2.内部样式表
3.内联样式

​ ps:详细参考html最后一部分


4.CSS样式

1.背景
  • 背景色 background-color

  • 背景图像 background-image

p {background-color: gray;}
body {background-image: url(/i/eg_bg_04.gif);}
ps:如果需要设置一个背景图像,必须为这个属性设置一个 URL 值

2.文本位置
  • 缩进文本 text-indent

ps:通过使用 text-indent 属性,所有元素的第一行都可以缩进一个给定的长度。这个属性最常见的用途是将段落的首行缩进

  • 水平对齐 text-align

ps:它会影响一个元素文本行互相之间的对齐方式。不影响元素。

p {text-indent: 5em;}
td{text-align:right;}
ps:
1.text-indent所用单位em(=14px)
2.text_align属性值left、right、center 

3.文本颜色
  • color属性

4.字体
CSS 定义了 5 种通用字体(每种包含若干分支)系列:
Serif 字体
Sans-serif 字体
Monospace 字体
Cursive 字体
Fantasy 字体

  • 文本字体 font-family
h1 {font-family: Georgia, serif;}
ps:如果用户代理上没有安装 Georgia 字体,就只能使用用户代理的默认字体来显示。我们可以通过结合特定字体名和通用字体系列来解决这个问题。

  • 字体风格 font-style

该属性有两个值:

  • normal - 文本正常显示

  • italic - 文本斜体显示

p.normal {font-style:normal;}
p.italic {font-style:italic;}

  • 字体加粗 font-weight
p.normal {font-weight:normal;}
p.thick {font-weight:bold;}
ps:使用 bold 关键字可以将文本设置为粗体

  • 字体大小 font-size
h1 {font-size:60px;}
p {font-size:14px;}

综合实例:

<span class = "sp">满船清梦压星河</span>

.sp
{
	/*文字颜色*/
	color : red ;
	/*文字大小*/
	font-size : 24px;
	/*文字字体*/
	font-family:楷体
	/*文字加粗*/
	font-weight:100;
	/*边框*/
	border:1px red solid;
	ps:可缺省,且无序
	/*边框圆角显示(半径)*/
	border-radius:clac(10px);
}



5.边框属性
  • 边框 border 属性

  • 表格的宽度和高度 width 和 height

table, th, td
  {
  border: 1px solid blue;
  }

table
  {
  width:100%;
  }
th
  {
  height:50px;
  }

6.表格内边距(内容与边框的距离)
td
  {
  padding:15px;
  }
ps:如需控制表格中内容与边框的距离,请为 td 和 th 元素设置 padding 属性

5.CSS盒模型★

1.概述

CSS 框模型 (Box Model) 规定了元素框处理元素内容、内边距(padding)、边框(border) 和 外边距(margin) 的方式。

盒模型概述

ps:元素框的最内部分是实际的内容,直接包围内容的是内边距。内边距呈现了元素的背景。内边距的边缘是边框。边框以外是外边距,外边距默认是透明的,因此不会遮挡其后的任何元素。

内边距(padding)、边框(border)和外边距(margin)都是可选的,默认值是零。可以使用通用选择器对所有元素进行设置:

* {
  margin: 0;
  padding: 0;
}

width 和 height 指的是内容区域的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。

假设框的每个边上有 10 个像素的外边距和 5 个像素的内边距。如果希望这个元素框达到 100 个像素,就需要将内容的宽度设置为 70 像素,请看下图:

概述图2

#box {
  width: 70px;
  margin: 10px;
  padding: 5px;
}

2.内边距

元素的内边距在边框和内容区之间。控制该区域的属性是 padding 。

eg:

h1 {padding: 10px 25px 3px 20%;} <!--上右下左(顺时针方向)-->
或者
h1 {
  padding-top: 10px;
  padding-right: 25px;
  padding-bottom: 2px;
  padding-left: 20%;
  }

3.边框

每个边框有 3 个方面:宽度、样式,以及颜色。


4.外边距

围绕在元素边框空白区域是外边距。设置外边距会在元素外创建额外的“空白”。设置外边距使用 margin 属性

eg:

h1 {margin : 10px 0px 15px 5px;}<!--顺时针-->
或者
h1 {margin : 10px 15px;}<!--第一个表示上下,第二个表示左右-->
或者
h1 {margin : 10px auto;}<!--auto对上下无效,对水平的作用是水平居中-->
ps:一般是在margin中使用,padding中使用较少
或者(较少使用)
h2 {
  margin-top: 20px;
  margin-right: 30px;
  margin-bottom: 30px;
  margin-left: 20px;
  }

ps:元素块垂直居中使用margin-top

6.定位★

1.相对定位

​ 如果对一个元素进行相对定位,它将出现在它所在的位置上。然后,可以通过设置垂直或水平位置,让这个元 素“相对于”它的起点进行移动。

​ 如果将 top 设置为 20px,那么框将在原位置顶部下面 20 像素的地方。如果 left 设置为 30 像素,那么会在元素 左边创建 30 像素的空间,也就是将元素向右移动。

eg:

#box_relative {
  position: relative;
  left: 30px;
  top: 20px;
}
ps:相对于这个元素块原来的位置进行偏移,position的参数为relative

ps:在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其它框。


2.绝对定位

​ 设置为绝对定位的元素框从文档流完全删除,并相对于其包含块定位,包含块可能是文档中的另一个元素或者 是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成 一个块级框,而不论原来它在正常流中生成何种类型的框。

eg:

#box_relative {
  position: absolute;
  left: 30px;
  top: 20px;
}
ps:绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于最初的包含块

3.浮动

浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。

如果把所有三个框都向左移动,那么框 1 向左浮动直到碰到包含框,另外两个框向左浮动直到碰到前一个浮动框。

如果包含框太窄,无法容纳水平排列的三个浮动元素,那么其它浮动块向下移动,直到有足够的空间。如果浮动元素的高度不同,那么当它们向下移动时可能被其它浮动元素“卡住”


在 CSS 中,我们通过 float 属性实现元素的浮动。

img
  {
  float:right;
  }

.父div的最后一个子divclassname
{
	clear:both;
}
父div没设置高度时,使用子div会造成父div高度塌陷,所以要清除浮动

4.固定定位

相对于浏览器的定位,position的属性为fixed。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值