1.为什么网页中会设置html,body{height:100%}
1.https://blog.csdn.net/javaloveiphone/article/details/51098972
2.https://www.cnblogs.com/huashanqingzhu/p/8572623.html
可以参加这两篇文章的描述
总结一下自己的看法:
这个html,body的设置主要是在设置图片位置,并且图片位置在底部的的时候会用到。
如果不设置的话,body最长的高度 ,很可能就是背景图片的高度,会导致有留白的情况出现。还有就是浏览器负责分配块级元素宽度,那么浏览器也一定可以分配高度(只是没有做),那么浏览器本身是有宽度和高度的,设置html的height:100%,就可以获取浏览器的定高了,后面的body和div也就有了依赖。
html,body{height:100%}
body
{
background-image:url("xxx.png");
background-position:center bottom;
}
2.一个表格中可以有多个tbody
以前以为一个table标签里面只能有一个tbody标签
3.a标签里面的文字 显示为蓝色带下划线(浏览器默认设置的)
div
{
color:red;
}
<div>
<a>这里是链接</a>
</div>
上述设置不会让a标签里的文字颜色变成红色。虽然a标签嵌套在div标签里面,能够继承div标签里面的color属性。但是继承的权重为0,所以浏览器设置的样式比继承的样式优先显示。所以必须要在样式里专门为a标签设置,才可以更改 a标签的文字颜色。
3.padding,border,margin会影响盒子大小
1.在进行一行的内容设计的时候,经常会出现,一行的某些盒子掉到下一行的情况。
值得注意的是,对于一个有height,width的盒子来说,设置额外的padding,border,margin,都会使这个盒子变大。所以会导致明明按照设定好的总宽度,仔细的分配每一个小盒子的宽度的时候,仍就会出现部分盒子掉落到下一行的情况。
解决:
更改盒子的width,减去设置的boder,margin,padding的长度。
4.透明度的继承性
opacity设置以后,会导致子元素继承父元素的透明度。比如div框里面的文字也会受到影响,变成有透明效果的文字。
但是
rgba(0,0,0,0.7)这样的颜色设置 ,是对修饰的当前内容才触发透明度影响,不会影响子元素。
5.在网页制作的时候,页面中的一些小图标,大的背景图片都是通过背景图片(background-image进行设置的)
像b站,b站的小图标(icon)用的是标签来定义的,把小图片设置为i标签里背景图片。而且页面中的小图片,经常会和伪类元素结合一起使用(::before,::after)
5.导航栏的链接,链接名字长度不同的话,通常是不会给装载每个链接的小盒子设置宽度和高度的,会导致间隔不一样,所以都是用的padding或者margin把距离撑开。
(cr.pink老师的教学视频)