保安日记:学习前端第四天
前端第四天
CSS三大特性
-
层叠性
1.当有几个相同选择器的样式冲突,会执行最后写的样式
2.样式不冲突就不会层叠
这里就会执行pink和12px -
继承性
子标签可以继承父标签的某些样式如颜色的字号( text-, font-,, line-这些元素开头的可以继承,以及color属性),恰当使用这一特性可以简化代码 -
行高的继承性
-
优先级
当同一个元素指定多个选择器,就会有优先级的产生。
权重:
注意:
范围越小,权重越大
-
权重叠加
复合选择器会有权重叠加
盒子模型
所谓盒子模型∶就是把HTML页面中的布局元素看作是一个矩形的盒子,也就是一个盛装内容的容器。CSS盒子模型本质上是一个盒子,封装周围的HTML元素,它包括:边框(border)、外边距(margin)、内边距(padding)和实际内容(content)
-
边框 border
边框有三部分宽度,样式和颜色
border-style:
dotte ,solid ,dashed比较常用
- 边框的复合属性
无规定顺序
- 表格的细线边框:
- 边框会影响盒子的实际大小
解决方法:
1.测量盒子大小的时候,不量边框.
2.如果测量的时候包含了边框,则需要width/height减去边框宽度 -
内边距 padding
控制内容与盒子的距离,跟border一样也有上下(bottom)左右四个方向
padding的复合属性 - 内边距会影响盒子的实际大小
如果盒子本身没有指定width/height属性,则此时padding不会撑开盒子大小.
解决方法:
如果保证盒子跟效果图大小保持一致,则让width/height减去多出来的内边距大小即可。 -
外边距:margin
控制盒子与盒子之间的距离
margin复合属性与padding完全一致
margin:1px 2px 3px 4px;
1个值,代表上下左右都有1像素内边距;
2个值,代表上下内边距是1像素左右内边距是2像素;
3个值,代表上内边距1像素左右内边距2像素的下内边距3像素;
4个值,按照上-右-下-左,顺时针的顺序进行设置 - 外边距典型应用
外边距可以让块级盒子水平居中,但是必须满足两个条件:
①盒子必须指定了宽度( width ).
②盒子左右的外边距都设置为auto 。
注意∶以上方法是让块级元素水平居中,行内元素或者行内块元素水平居中给其父元素添加text-align:center即可。
-
外边距合并
使用margin定义块元素的垂直外边距时,可能会出现外边距的合并
1.相邻块元素垂直外边距的合并
当上下相邻的两个块元素(兄弟关系)相遇时,如果上面的元素有下外边距margin-bottom,下面的元素有上外边距margin-top,则他们之间的垂直间距不是margin-bottom与margin-top之和。取两个值中的较大者
解决方法 : 尽量只给一个盒子添加margin值
2.嵌套块元素垂直外边距的塌陷
对于两个嵌套关系(父子关系)的块元素,父元素有上外边距同时子元素也有上外边距,此时父元素会塌陷较大的外边距值 。
解决方法:
-
清除内边距
网页元素很多都带有默认的内外边距,而且不同浏览器默认的也不一致。因此我们在布局前,首先要清除下网页元素的内外边距。
注意∶行内元素为了照顾兼容性,尽量只设置左右内外边距,不要设置上下内外边距。但是转换为块级和行内块元素就可以了 -
圆角边框
border-radius属性用于设置元素的外边框圆角。
语法: border-radius : length;
radius半径(圆的半径)原理:(椭)圆与边框的交集形成圆角效果 -
圆角边框应用
-
盒子阴影
语法:box-shadow: h-shadow v-shadow blur spread color inset;
注意:
1.默认的是外阴影(outset),但是不可以写这个单词,否则导致阴影无效
⒉.盒子阴影不占用空间,不会影响其他盒子排列。
- 文字阴影
text-shadow: h-shadow v-shadow blur color;