一、表格CSS 属性
1、表格边框
指定 CSS 表格边框,使用 border 属性,通常定义td,th的边框属性
表格会呈现双边框,是因为表和 th / td 元素有独立的边界。
table存在默认属性border-collapse:separate
2、表格的折叠边框
border-collapse 属性设置表格的边框是否被合并为一个单一的边框
-
取值
-
separate:边框独立(默认值)
-
collapse:相邻边框被合并
-
-
border-spacing:单元格之间的间距
-
border-spacing:水平方向 垂直方向;
-
border-spacing:一个值;代表水平方向和垂直方向的间距是一样的 注意:只有在 边框独立border-collapse: separate时才能用
-
3、单元格内容的垂直对齐
-
vertical-align 作用:垂直对齐属性设置垂直对齐,比如顶部,底部或中间
-
常用值
-
top顶部对齐
-
middle居中对齐
-
bottom底部对齐
-
小节:如何使用css实现表格的1像素边框
table{ border-collapse:collspse; }
二、CSS字体 ,文本属性
1、text-align:
-
作用:设置文本的水平对齐方式
-
语法:text-align:值
-
常用值
-
left居左对齐 [默认值]
-
right居右对齐
-
center居中对齐
-
text-align: justify文本两端对齐方式
-
2、text-decoration
-
作用:设置文本装饰
-
语法:text-decoration:值
-
常用值
-
none 默认。定义标准的文本。 【常用】
-
underline 定义文本下的一条线 【常用】
-
line-through 定义穿过文本的一条线。【比较常用】
-
overline 定义文本上的一条线。 【不常用】
-
3、text-indent
-
作用:设置文本块首行的缩进
-
语法:text-indent:值
-
常用值
-
默认值:0
-
长度值,px,em
-
百分比: 相对于元素内容宽进行计算
-
允许负值
-
4、color
-
作用:设置文字的颜色
-
语法:color:颜色值
6、颜色的几种表现形式
1.英文的关键词:red红色,orange橙色,yellow黄色,green绿色,cyan青色,blue蓝色,purple紫色
transparent:透明色
2.十六进制色值
ps:英文状态下,按下i键,鼠标右键单击,拷贝颜色的十六制进制代码,在代码中ctrl+v粘贴
在代码的颜色中要写#在粘贴颜色的十六进制代码
由#和六位十六进制的数组成(0-9 a-f)
例:#000000表示黑色 #ff0000表示红色 #ffffff 表示白色
-
rgb(r,g,b)
r: red 红色 g: green 绿色 b: blue 蓝色
取值范围0-255
rgb(255, 255, 255); 表示白色
rgb(0, 0, 0);表示黑色
4.rgba(r,g,b,a)
r: red 红色 g: green 绿色 b: blue 蓝色
a: alpha 透明度 透明度在0-1之间表示,0表示完全透明 1 表示完全不透明
三、常用复合选择器
概述:由两个或多个基础选择器通过不同的方式组合而成的选择器
1.后代选择器
后代选择器又称包含选择器,可以选择某元素后代的元素
-
语法:
E F { 样式声明; }
-
描述:【空格】连接一个或多个选择器
-
作用: 选择E元素内部包含的所有F元素
/* .warp 范围内所有的span都有效 */ .wrap span { color: tomato; } <div class="wrap"> <span>我是第一个span</span> <ul> <li> <span>我是第a二span个</span> </li> </ul> <span>我是第三个span</span> <div class="txt">div文本</div> </div>
2.子代选择器
子代选择器他只能选择他的子代范围内的选择器,也就是父子关系
-
语法
E > F { 样式声明; }
-
描述:【大于】号 连接一个或多个选择器
-
作用: 选择E元素内部包含的所有直接子元素F(第一嵌套层级)
父类选择器与子代选择器之间与大于号隔开 /* .warp 范围内所有的子元素span都有效 */ .wrap>span { color: tomato; } <div class="wrap"> <span>我是第一个span</span> <ul> <li> <span>我是第a二span个</span> </li> </ul> <span>我是第三个span</span> <div class="txt">div文本</div> </div> </div>
3.群组选择器
群组选择器是在样式表中有很多具有相同样式的元素,为了尽量减少代码,我们可以用群组选择器
群组选择器是将任意多个选择器分在一组,每个选择器之间用逗号隔开
-
语法
E,F { 样式声明; }
-
描述:【逗号】连接一个或多个选择器
-
作用: 使用逗号分隔的列表来对选择器进行分组,给列表中每一个选择器选中的元素设置样式
选择器1,选择器2,选择器3{}; 选择器1和选择器2选择器3是都具有相同的样式的 选择器1和选择器2选择器3中间以逗号来隔开: 选择器1,选择器2,选择器 注意:最后一个选择器后面不用加逗号 h2, h3, h6, div, .box, #box2 { color: blue; } <h2>h2h2h2h2h2h</h2> <h3>h3h3h3h3h3</h3> <h6>h6h6h6h6h6h</h6> <div>divdivdiv</div> <div class="box">box111</div> <p id="box2">ppppp</p>
4.伪类链接选择器
用于添加特殊效果
-
语法
选择器:伪类{ }
-
用于设置链接的不同状态
a:link{ 链接的默认样式 } a:visited{ 链接访问过后的样式 } a:hover{ 鼠标悬停的样式 } a:active{ 鼠标按下的样式 } a:link { color: tomato; } a:visited { color: yellow; } a:hover { color: purple; } a:active { color: greenyellow; }
四个伪类状态都有效:L-v-H-a
-
:hover不仅可以表示链接的悬停,也可以用于其他标签中
/* 鼠标悬停到.box1盒上,让其本身的背景颜色变为蓝色 */ .box1:hover{ background-color: lightblue; } /* 鼠标悬停到.box2盒上,让p标签文字颜色变为红色 */ .box2:hover p{ color: red; } /* 鼠标悬停到.box3上,让p标签和h3标签的文字颜色都变为blue */ .box3:hover h3, .box3:hover p{ color: red; } .box3 :hover{ color: blue; }
5.相邻选择器
-
语法
-
示例:E+F{ 样式声明 } 用加号连接
-
描述:【加号】 连接一个或多个选择器
-
-
作用:E元素之后紧跟着的兄弟元素F
-
代码示例
.box + p{ background-color:red } <p>这个P元素不会被应用样式</p> <div class="box">box</div> <p>这个P元素会被应用样式</p> <p>这个P元素不会被应用样式</p>
兄弟之间的hover <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> * { margin: 0; padding: 0; } .box { width: 100px; height: 100px; background: tomato; } .con { width: 300px; height: 300px; height: 0; background: yellowgreen; transition: 2s; } .box:hover+.con { height: 300px; background-color: blue; } </style> </head> <body> <div class="box"></div> <div class="con"></div> </body> </html>
四、CSS 盒模型
概述
CSS 盒模型本质上是一个盒子,封装周围的 HTML 元素,它包括:外间距、边框、内填充、和实际内容。(即装东西的容器)
所有 HTML 标签可以看作盒子,在 CSS 中,"box model" 这一术语是用来设计和布局时使用的。 (即网页布局 就是利用 CSS 摆盒子)
1、内容 content
概述 :CSS通过为元素设置width和height属性值来规定元素的content内容区域的大小。 元素的内容及子元素默认从内容区域开始排列。
1.width:宽度
length:像素px,rem,em等单位
auto:默认值,浏览器可以计算出内容的实际宽度
百分比%:定义基于包含块(父元素)的宽度百分比来计算宽度的
max-width:最大宽度
min-width:最小宽度
2.height:高度
length:像素px,rem,em等单位
auto:默认值,浏览器可以计算出内容的实际高度
百分比%:定义基于包含块(父元素)的高度百分比来计算高度的
max-height:最大高度
min-height:最小高度
2.内边距
padding
padding内填充 元素边框和元素内容之间的距离 取值 - px - 百分比 - 上下内填充和左右内填充百分数值是相对于其父元素的width属性计算的 - 不可使用负值 单边填充: padding-top: 50px;上内填充 padding-left: 20px;左内填充 padding-right: 10px;右内填充 padding-bottom: 20px;下内填充 复合写法: padding: 20px; 一个值 四个填充 padding: 20px 40px; 两个值 上下填充 左右填充 padding: 20px 40px 60px; 三个值 上填充 左右填充 下填充 padding: 20px 40px 60px 80px; 上填充 右填充 下填充 左填充(顺时针方向) .box1 { width: 100px; height: 100px; background-color: yellow; padding-top: 50px; padding-left: 20px; padding-right: 10px; padding-bottom: 20px; } .box2 { width: 100px; height: 100px; background-color: tomato; padding: 20px 40px 60px 80px; }
4.外边距
margin
外间距:margin 盒外属性:两个盒子之间的距离 取值 - px - auto浏览器自动计算 - 百分比 - 允许使用负值 单边外间距: margin-top: 20px;上外间距 margin-right: 40px;右外间距 margin-bottom: 20px;下外间距 margin-left: 20px;左外间距 复合写法 margin: 20px; 一个值 四个外间距 margin: 20px 40px; 两个值 上下外间距 左右外间距 margin: 20px 40px 60px; 三个值 上外间距 左右外间距 下外间距 margin: 20px 40px 60px 80px; 上外间距 右外间距 下外间距 左外间距(顺时针方向) 盒子水平居中 margin: 0 auto; 需要与width属性配合使用才会有效——固定宽度且居中
1.外边距应用
-
外边距实现已知宽度的块级盒子居中
-
需要与width属性配合使用才会有效——固定宽度且居中
.box{ width:200px; /* margin-left:auto; margin-right:auto; */ margin:0 auto; }