css第三天
今天学习了css三大特性和盒子模型
三大特性:层叠性、继承性、优先级。
1.层叠性
问题:在开发中什么时候会出现样式层叠?
答案:对一个元素多次设置同一个样式,会使用最后一次设置的属性值
问题:样式层叠的原则是什么?
答案:样式冲突,就近原则,后定义,后生效 ;
样式不冲突,无论定义先后,始终有效。
2.继承性
CSS 的继承性有什么好处?
可以从一定程度上简化代码
什么是 CSS 的继承?子元素通常能够继承哪些样式?
子元素会继承父元素的某些样式,如文本颜色、字体属性等。
行高的继承:如 font:12px *1.5 ,也就是行高为12*1.5(在父盒子里设置)
3.优先级
选择器的权重级别
权重的数字能进位吗?
不能进位
类选择器永远大于标签选择器,这句话对吗?
对
继承的权重是多少?
0
边框的复合写法
边框的复合写法有顺序要求吗?推荐写法是什么?
没有 推荐写法: border: 1px solid #000;
能够单独设置一个边框吗?如何实现?
可以
border-bottom: 1px solid #000;
border-top: 1px solid #000;
border-left: 1px solid #000;
border-right: 1px solid #000;
表格细线边框
border-collapse: collapse; 的作用是什么?
border-collapse: collapse; 可以把相邻的边框合并到一起
border-collapse: collapse; 适用于任何场景么?
border-collapse: collapse; 属性仅仅适用于表格, 例如两个div的div边框紧紧相连使 用该属性是不会生效的
边框会影响盒子实际大小
边框会影响一个盒子的实际大小吗?
会
如何解决?
1. 测量盒子大小时,不测量边框; 2. width / height 减去边框宽度。
盒子模型内边距 padding
内边距的应用场景是什么?
设置内容与边框之间的距离
在一个盒子中,可以分别设置四个方向的内边距吗?
可以
padding-top: 10px;
padding-right: 20px;
padding-bottom: 30px;
padding-left: 40px;
padding 复合属性
padding 会影响一个盒子的实际大小吗?
会
如何解决? width / height 减去多出来的 padding
开发时,除了段落首行缩进外,为什么不建议用 text-indent 做文字左侧距离的 缩进?
用 text-indent 不够精确
实际开发中文字距离左侧的距离是如何处理的?有什么注意点?
实际开发中使用 padding 注意: padding 会撑开盒子,因此需要调整盒子的宽度。
在什么情况下, padding 不会撑开盒子?
块元素没有指定 width 属性, padding 不会撑大盒子的宽度,但是设置 padding-top 和 padding-bottom 会撑大盒子的高度 。
盒子模型 - 外边距 margin
外边距的应用场景是什么?
控制盒子与盒子之间的距离
能够给一个盒子分别设置四个方向的外边距吗?
可以(行内元素垂直外边距除外)
让行内元素或行内块元素实现水平居中应该怎么做?
给其父盒子添加 text-align: center;
请说出相邻元素垂直外边距合并的情况,如何解决?
上面的盒子有 margin-bottom ,下面的盒子有 margin-top ,取最大值
解决办法:只设置一个盒子的 margin
外边距合并-嵌套块元素塌陷
请说出嵌套块元素塌陷的情况?
父子元素同时具有上外边距 父元素会塌陷较大的外边距
解决办法:顶部增加边框;顶部增加;padding overflow: hidden; 推
清除内外边距
开发时为什么要做清除内外边距的事情?
网页元素很多都带有默认的内外边距,而且浏览器的默认值也不尽相同 清除内外边距可以避免默认样式对布局的干扰
推荐的清除内外边距的方案是什么?
* { margin: 0; padding: 0; }
行内元素在设置内外间距时有什么需要注意的?
尽量只设置左右内外间距,不要设置上下内外间距。
*代表选择任何元素,由于浏览器引擎查找元素使用的策略不同,有可能会存在性 能问题。