行内元素设置宽高
来源:互联网 发布:开淘宝店怎么介绍店铺 编辑:程序博客网 时间:2024/05/24 06:35
对行内元素如span设置宽高,可以通过css设置display:block或者设置为浮动float
- 块元素。 特性:有物理属性,width,height写值起作用,而且要占据一行。
- 内联元素。 特性:没有物理属性。但是margin,padding值有用。不占据一行,后边可以有兄弟元素。
- 即是块又是内联,根据兄弟兄弟元素决定。
为什么是float之后才会有物理属性,这就是块与内联元素相互转化的问题。
块元素 -> 内联元素: display:inline;
内联元素 -> 块元素: display:block;
float就是隐性的把内联元素转化为块元素,这是对内部的特性就是有物理特性,但是他不占据一行。对外是内联元素的属性。他有个坏处就是会影响兄弟元素。相当于:display:inline-block;
那为什么不直接display:inline-block;因为这个玩艺在ie6下有几个px的bug。
平时经常给这样的行内元素设置浮动float:left or float:right,浮动了之后还可以给它们设置高度啊宽度啊。这点大家都知道,但是为什么呢?为什么行内元素在浮动之后就可以设置高宽了呢。 引用下曹刘阳写的《编写高质量代码-web前端开发修炼之道》一书中看到的一句话:
position:absolute和float会隐式地改变display类型,不论之前什么类型的元素(display:none除外),只要设置了position:absolute 、 float中任意一个,都会让元素以display:inline-block的方式显示:可以设置长宽,默认宽度并不占满父元素。
这样似乎可以解释的通,元素都隐式地将display变为inline-block,但是ie6\7的css解析器并没有display:inline-block这个属性,只支持display:inline,这样就说不通了。 又想到了,float会触发haslayout,haslayout为true的情况下,元素可以控制自身的布局,但是haslayout是ie专有的,不管其它浏览器什么事情,这个想法应该也不成立。 和群友讨论了一下这个问题,他们平时也没去注意,经过一番激烈的“争论”,我们得出的结论是:行内标签在设置浮动后,会拥有块级元素的部分特性,比如可以设置高宽等,但它实质上还是行内元素,本质不会变。 最后,请教了林小志,翻了css文档,才发现:
当该属性不等于none引起对象浮动时,对象将被视作块对象(block-level),即display属性等于block。也就是说,浮动对象的display特性将被忽略。float在绝对定位和display为none时不会被应用。对应的脚本特性为stylefloat(ie)或cssfloat(非ie)。(注意这里为stylefloat或cssfloat,而不是float)
哎呀,我去,原来文档上有解释的,白忙活了半天。下次碰到问题要第一时间翻下文档。 附上飘零雾雨整理的中文版css文档:css中文版文档_飘零雾雨 不翻文档的程序员不是好厨子
作者:Number1020
链接:http://www.jianshu.com/p/acfe075269a7
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
- 行内元素设置宽高
- 行内元素如何设置宽高
- 为什么有的行内元素可以设置宽高
- 关于行内元素能否设置宽高的问题
- 行内元素在为什么设置浮动后可以设置高宽??
- 行内元素在设置浮动后可以设置高宽
- 水平居中设置-行内元素
- 【Html】水平居中设置-行内元素
- 水平居中设置-行内元素
- 水平居中设置-行内元素
- css设置元素宽高比
- js动态设置元素的宽高
- 非块级元素的宽高设置
- <object>元素通过js设置宽高
- CSS中将行内元素设置成行内块元素的几种方法
- 关于行内元素可以设置padding,border的测试
- 关于行内元素可以设置padding,border的测试
- 行内元素能否设置width,height,padding,margin
- POJ 2002 Squares 哈希
- 2017百度之星资格赛 1003:度度熊与邪恶大魔王(DP)
- Spring Cloud构建微服务架构:Eureka服务注册与发现
- Android Studio配置Kotlin开发环境的最简单方式
- zookeeper-单机单实例安装部署(linux)
- 行内元素设置宽高
- SpringBoot热部署
- sensor
- Android 获取软键盘的删除delete事件
- 快速排序
- 生成器与迭代器
- shell 条件判断式语句
- vmware安装centos7后网络配置
- 数据库范式