CSS中什么是块级元素?

html-css016

CSS中什么是块级元素?,第1张

CSS中常见的块级元素:<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote>、<form>。

块级元素的特点:

每个块级元素都是独自占一行,其后的元素也只能另起一行,并不能两个元素共用一行。元素的高度、宽度、行高和顶底边距都是可以设置的。元素的宽度如果不设置的话,默认为父元素的宽度。

行级元素的特点:

可以和其他元素处于一行,不用必须另起一行。元素的高度、宽度及顶部和底部边距不可设置。元素的宽度就是它包含的文字、图片的宽度,不可改变。

拓展资料:行级元素与块级元素的转换

可以在css样式中用display:inline将块级元素设为行级元素,同样,也可以用display:block将行级元素设为块级元素。(资料参考:网页链接)

CSS中块元素和内联元素的区别

CSS块元素(blockelement)

CSS块元素一般是其他元素的容器元素,块元素一般都从新行开始,它可以容纳CSS内联元素和其他CSS块元素,常见块元素是段落标签'P"。“form"这个块元素比较非凡,它只能用来容纳其他块元素。

假如没有CSS的作用,CSS块元素会顺序以每次另起一行的方式一直往下排。而有了CSS以后,我们可以改变这种html的默认布局模式,把块元素摆放到你想要的位置上去。而不是每次都愚蠢的另起一行。需要指出的是,table标签也是块元素的一种,tablebasedlayout和CSSbasedlayout从一般使用者(不包括视力障碍者、盲人等)的角度来看这两种布局,除了页面载入速度的差别外,没有其他的差别。

但是假如普通使用者不经意点了查看页面源代码按钮后,两者所表现出来的差异就非常大了。基于良好重构理念设计的CSS布局页面源码,至少也能让没有web开发经验的普通使用者把内容快速的读懂。从这个角度来说,CSSlayoutcode应该有更好的美学体验。

你能够把块容器元素div想象成一个个box,或者假如你玩过剪贴文载的话,那就更加轻易理解了。我们先把需要的文章从各种报纸、杂志总剪下来。每块剪下来的内容就是一个block。然后我们把这些纸块按照自己的排版意图,用胶水重新贴到一张空白的新纸上。这样就形成了你自己独特的文摘快报了。作为一种技术的延伸,网页布局设计也遵循了同样的模式。

CSS内联元素(inlineelement)

CSS内联元素一般都是基于语义级(semantic)的基本元素。CSS内联元素只能容纳文本或者其他CSS内联元素,常见内联元素“a”。

需要说明的是:inlineelement的中文叫法,有多种内联元素、内嵌元素、行内元素、直进式元素。基本上没有统一的翻译,爱怎么叫怎么叫吧。另外提到内联元素,我们会想到有个display的属性是display:inline这个属性能够修复闻名的IE双倍浮动边界问题。

CSS块元素(blockelement)和CSS内联元素(inlineelement)都是html规范中的概念。块元素和内联元素的基本差异是块元素一般都从新行开始。而当加入了CSS控制以后,块元素和内联元素的这种属性差异就不成为差异了。比如,我们完全可以把内联元素cite加上display:block这样的属性,让他也有每次都从新行开始的属性。

可变元素是基于以上两者随环境而变化的,它的基本概念就是他需要根据上下文关系确定该元素是CSS块元素或者CSS内联元素。可变元素还是属于上述两种元素类别,一旦上下文关系确定了他的类别,他就要遵循块元素或者内联元素的规则限制。

1.inline是行内元素,同行可以显示,像span、font、em、b这些默认都是行内元素,不会换行,无法设置宽度、高度、margin、border

2.block,块元素,div、p、ul、li等这些默认都是块元素,会换行,除非设置float

3.inline-block,可以同行显示的block,想input、img这些默认就是inline-block,出了可以同行显示,其他基本block一样,但是inline-block兼容性很差,要用需要写hack

inline-block的hack如下:

display: -moz-inline-stack火狐2hack

display: inline-block

vertical-align: top撑出盒子的bug修复

zoom: 1后面两行IE7hack

*display: inline

使用例子 ul li{ display: -moz-inline-stackdisplay: inline-blockvertical-align: topzoom: 1*display: inline}

inline-block有个好处,就是div设置浮动只能实现居左,或者居右,而inline-block可以通过上级容器设置text-align:center实现块元素居中