博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
display:inline 和display:inline-block和display:block的区别
阅读量:7222 次
发布时间:2019-06-29

本文共 1555 字,大约阅读时间需要 5 分钟。

之前讲过块级元素使用display:block

           行内元素使用display:inline

那么今天我们就来区分一下display:inline,display:inline-block和display:block的区别

首先先说一个名词 :inline element:行内元素也叫作内联元素,内嵌元素,直进式元素

                         block element:块级元素

1.display:inline 转化成内联元素,不换行

内联元素的前面和后面都不会有换行符,你不可以给内联元素定宽和高,也就是说你如果同时给一个元素写

   

{display:inline;width:值;height:值;}

那么width和height属性就会失效;

2.display:block转换成块元素,换行;

将元素转化为块级元素,有宽和高的属性,元素前后都有一个换行符

3.display:inline-block内联块元素,既不换行又可以使用块元素所拥有的属性,类似于块元素加了浮动效果,但低版本浏览器对这个不支持

表示元素 对内具有块级元素的宽和高的属性,即你可以对它设定宽和高,对外却具有内联元素的无换行符特性,这个属性IE8以上才支持,对于IE6和IE7不支持这个值,但是只要他们的元素触发了haslayout属性,他们的内联元素便具有display:inline的特性了

haslayout属性:hasLayout是IE浏览器专有的一个属性,用于CSS的解析引擎。有时候在IE下一些复杂的CSS设置解析起来会出现bug,其原因可能与hasLayout没有被自动触发有关,我们通过一些技巧,手动触发hasLayout属性就可以解决Bug了。这也算是针对IE下疑难杂症的特殊偏方了,很多时候,触发了hasLayout就可以药到病除了。

hasLayout的触发方法有很多种,例如设置width,height值,设置position为relative等。但如果设置了width,height,或position都会在触发hasLayout的同时带来一些副作用的。早期的一些工程师推荐使用“height:1%”来触发hasLayout,那时还没有出现IE7,而height属性在IE6下其实是按照"min-height"来解析的,所以只要对IE6进行hack,"* html{height:1%}"就可以触发hasLayout,同时又不带来副作用了。后来出现的IE7仍然存在很多hasLayout的问题,但IE7已经能够正确识别height属性了,“height:1%”的方法已经不再适用了。

于是,一个更好的解决方法开始流行,它使用了一个生僻的CSS属性zoom来触发hasLayout——"zoom:1"。使用"zoom:1"可以触发hasLayout,并且不会像height等属性一样引入副作用,更妙的是,我们可以不用CSS hack了。但"zoom:1"并不是一定可以触发hasLayout的。在极少数特殊的情况下,例如非常复杂的CSS设置,特别是使用DHTML的时候,使用"zoom:1"有时候也会无效,这时,我们可能需要借助更强大的"position:relative"来帮助触发hasLayout。总之,”zoom“是最常用,最安全,成本最少的触发hasLayout的方式,一般情况下,使用它就完全可以触发hasLayout了。如果遇到特殊情况,"zoom:1"无效的情况下,我们可以通过设置"position:relative"来触发hasLayout,尽管它会带来一点副作用   

zoom是将原来的元素放大为当前你的多少倍

转载于:https://www.cnblogs.com/xy-milu/p/6085302.html

你可能感兴趣的文章
codeforces#FF(div2) D DZY Loves Modification
查看>>
android 获取手机信息工具类
查看>>
To new is C++; To malloc is C; To mix them is sin (混淆C++中的new和C中的malloc是一种犯罪)...
查看>>
python基础-四天(day16)
查看>>
ViewModelLocator
查看>>
自定义View -- 柱状图 我也来自定义个柱状图来玩玩
查看>>
linux之log_format
查看>>
博客园test(搭博客用)
查看>>
集群节点间心跳实现
查看>>
netty入门07
查看>>
[PHP] 网盘搜索引擎-采集爬取百度网盘分享文件实现网盘搜索(二)
查看>>
[日常] nginx与负载均衡
查看>>
五种常见的ASP.NET应用程序安全缺陷
查看>>
jQuery 遍历用法
查看>>
c++ primer 3
查看>>
胖AP与瘦AP区别
查看>>
linux 最大文件描述符
查看>>
LaTeX 插图片
查看>>
mke2fs 制作ext2文件系统image
查看>>
spark集群部署错误告警随记
查看>>