CSS---再谈行内元素和块级元素
如果采用w3c盒子模型,即加上文档声明
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
如果不加 DOCTYPE 声明,那么各个浏览器会根据自己的行为去理解网页,即 IE 浏览器会采用 IE 盒子模型去解释你的盒子(ie盒子模型的content包括border和padding。),而 FF 会采用标准 W3C 盒子模型解释你的盒子,所以网页在不同的浏览器中就显示的不一样了。反之,如果加上了 DOCTYPE 声明,那么所有浏览器都会采用标准 W3C 盒子模型去解释你的盒子,网页就能在各个浏览器中显示一致了。
以下为亲测
宽高:不可通过width和height属性改变其大小
外边距:左右外边距有效,会忽略上下外边距
内边距:可以设置,但和上下相邻的元素可能会发生重叠
(firefox中的截图)
但是如果行内元素设为浮动后,上述一切设置(width/height、margin、padding)均有效,换句话说就是可以设置宽高和内外边距了。
<html>
<head>
<title></title>
<style type="text/css">
*{
padding: 0;
margin: 0;
}
#outer{
width: 300px;
height: 100px;
background: red;
}
span{
background: #ccc;
width: 400px;
height: 300px;
margin: 10px;
padding: 10px;
}
#inner{
background: blue;
width: 100px;
height: 50px;
}
</style>
</head>
<body>
<div id="outer">
<span>this is a span.</span>
<span>this is a span.</span>
<div id="inner">this is a div.</div>
<span>this is a span.</span>
</div>
</body>
</html>
总结
块级元素和行内元素区别
- 行内元素同一行水平排列。
- 块级元素各占据一行,垂直方向排列。
- 块级元素可以包含行内元素和块级元素。但行内元素不能包含块级元素。
- 行内元素与块级元素属性的不同,主要是盒模型属性上。
- 行内元素设置width无效,height无效(可以设置line-height),margin上下无效,padding上下无效
可以通过修改样式display属性改变元素是以块级还是行内元素呈现,当display的值设为block时,元素将以块级方式呈现;当display值设为inline时,元素将以行内形式呈现。
如果想让一个元素可以设置宽度高度,又让它以行内形式显示,我们可以设置display的值为inline-block。
浙公网安备 33010602011771号