为何location-bar 内的行内块元素不用vertical-align会偏移?
来源:2-3 首页-头部样式(2)
lcyjerry
2020-04-20 14:25:12
为何location-bar 内的行内块元素不用vertical-align会偏移?而不是在父元素内
4回答
好帮手慕粉
2020-04-21
同学你好,因为纵向也有间隙啊:
老师只是给同学举了横向的例子,纵向上也是一样的。
祝学习愉快~
好帮手慕粉
2020-04-21
同学你好,关于同学的问题回答如下:
1、我们可以举个例子看下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> * { margin: 0; padding: 0; } .father { width: 200px; height: 200px; background-color: red; } .one, .two { width: 100px; height: 100px; display: inline-block; } .one { background-color: pink; } .two { background-color: gray; } </style> </head> <body> <div class="father"> <div class="one"></div> <div class="two"></div> </div> </body> </html>
按正常来说,两个子div应该是在一行显示,但是由于行内块有默认的间隙,实际宽度超过了100px,所以第二个子元素会被撑到下一行:
这个间隙是由文本节点造成的:
所以我们可以给父元素设置font-size:0,将这些间隙去掉:
2、在这也是一样的,由于文本节点造成的间隙,子元素超出了父容器。所以即使同学增加了父容器的高度,这个间隙也还是存在的,要把父元素的高度调整的更高一点:
祝学习愉快~
好帮手慕粉
2020-04-21
同学你好,在把vertical-align去掉的情况下,子元素会超出父元素是因为图片和文字设置的是行内块:
而行内块之间有默认的间隙。我们可以给父元素设置font-size:0消除这个间隙:
祝学习愉快~
好帮手慕粉
2020-04-20
同学你好,因为这块的内容继承了body的行高,所以内容被撑了下去,我们可以先把vertical-align属性去掉看下:
这是继承的body的行高:
因为设置行高时没有加单位,设置的是1,那么就是页面根元素的大小的1倍,也就是页面根元素字体大小的一倍:
所以在这个页面,是继承了32px的行高。
视频老师就通过设置vertical-align属性对这两个元素进行了调整。
祝学习愉快~
相似问题