首页 >web前端 >html教程 >为什么input可以设置宽度_html/css_WEB-ITnose

为什么input可以设置宽度_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-24 12:15:241495浏览

一直对这个问题相当的不解,按照css的定义,行内(内联)元素不是不可以设置宽度高度吗,为神马身为行内元素的input却可以呢?有没有大牛解释下


回复讨论(解决方案)

早,
那就说明input不是行内(内联)元素,是不是行内元素,完全可以通过CSS的定义来切换

用firebug看下你就知道是不是行内元素了,以前我一直想当然的以为input是inline-block,今天才发现,这货原来就是一活生生的inline元素,为什么这货可以设置宽度呢,这是为什么呢?

某次布局时无意发现一个有意思的问题。就是之前前的观念是是内联元素,而内联元素的宽高都是不能定的。但是很明显是可以给宽高的,为什么呢?要想弄清楚,首先我们要弄清inline-block这个属性,请点击这里查看:inline-block属性。其实很简单,inline-block特性就是元素的外部是内联元素,而内部确是块级元素特性,而天生的inline-block属性。这样就好解释了,元素并没有另起一行,因为它的外部是内联元素,但它可以定宽高,因为它的内部是块级元素。所以在说内联元素和块级元素的时候,一定要将做为一个特例来理解。..

这是某个人的解释。。。

大致这样理解:
行内(内联)元素是相对于左右两边元素而言,于其它兄弟元素可同在一行内显示的可称行内元素,对于仅仅是数据显示类元素如span等,估计不能设置宽高吧,对于输入类元素,如input等可以设置高度。。。看来应该这样理解,

某次布局时无意发现一个有意思的问题。就是之前前的观念是是内联元素,而内联元素的宽高都是不能定的。但是很明显是可以给宽高的,为什么呢?要想弄清楚,首先我们要弄清inline-block这个属性,请点击这里查看:inline-block属性。其实很简单,inline-block特性就是元素的外部是内联元素,而内部确是块级元素特性,而天生的inline-blo…… 我以前就是这样理解的,但是。。还是你自己用firebug看一下吧。。

什么是行内元素,什么是块级元素我懂,请不要给我扫盲好吗。。

好吧,经过测试原来这是firefox的bug。。

<!doctype><html><head>	<style>	</style></head><body>	<input type="text" value="text" id="input"/>	<script>		var input = document.getElementById('input'),			input_style = window.getComputedStyle ? window.getComputedStyle(input, null) : input.currentStyle;		alert(input_style.display);	</script></body></html>
在其他浏览器中,input的display=inline-block;而在firefox中却是inline。。不过又有一个疑问了,在ie6不支持inline-block,谁手头上有ie6能帮忙测下么?

就这么规定的

行内元素  button  img都可以设置宽度。。。怎么解释

好吧,经过测试原来这是firefox的bug。。JScript code



    


    
    <script> <br /> var input = document.getEl…… <br /> <br /> 谁说的IE6不支持inline-block?或者你是从哪里看到的? </script>
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn