CSS Display(显示)...LOGIN

CSS Display(显示) 与 Visibility(可见性)

   在平时的开发过程中,总是会遇到一些文字在特定的场景下显示或者隐藏来达到我们想要的效果,css中display和visibility语法,他们都可以隐藏和显示html元素。看起来貌似一样,但是他们还是有一定的区别的。

display定义和用法

display 属性规定元素应该生成的框的类型。

说明

这个属性用于定义建立布局时元素生成的显示框类型。对于 HTML 等文档类型,如果使用 display 不谨慎会很危险,因为可能违反 HTML 中已经定义的显示层次结构。对于 XML,由于 XML 没有内置的这种层次结构,所有 display 是绝对必要的。

可能的值


值                 描述


none    此元素不会被显示。    

block    此元素将显示为块级元素,此元素前后会带有换行符。    

inline    默认。此元素会被显示为内联元素,元素前后没有换行符。    

inline-block    行内块元素。(CSS2.1 新增的值)    

list-item    此元素会作为列表显示。    

run-in    此元素会根据上下文作为块级元素或内联元素显示。    

compact    CSS 中有值 compact,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。    

marker    CSS 中有值 marker,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。    

table    此元素会作为块级表格来显示(类似 <table>),表格前后带有换行符。    

inline-table    此元素会作为内联表格来显示(类似 <table>),表格前后没有换行符。    

table-row-group    此元素会作为一个或多个行的分组来显示(类似 <tbody>)。    

table-header-group    此元素会作为一个或多个行的分组来显示(类似 <thead>)。    

table-footer-group    此元素会作为一个或多个行的分组来显示(类似 <tfoot>)。    

table-row    此元素会作为一个表格行显示(类似 <tr>)。    

table-column-group    此元素会作为一个或多个列的分组来显示(类似 <colgroup>)。    

table-column    此元素会作为一个单元格列显示(类似 <col>)    

table-cell    此元素会作为一个表格单元格显示(类似 <td> 和 <th>)    

table-caption    此元素会作为一个表格标题显示(类似 <caption>)    

inherit    规定应该从父元素继承 display 属性的值。

  实例:  

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>实例</title> 
<style type="text/css">
.inline{display:inline; width:100px; height:100px; padding:5px; background-color:#F00;}
.block{display:block; width:100px; height:100px; padding:5px;background-color:#0f0;}
.inline-block{display:inline-block; width:100px;height:100px; padding:5px;background-color:#00f;}
</style>
<body>
<span class="inline">
inline
</span>inline
<span class="block">
block
</span> block
<span class="inline-block">
inline-block
</span>inline-block
</body>
</html>

visibility定义和用法

visibility 属性规定元素是否可见。

提示:即使不可见的元素也会占据页面上的空间。请使用 "display" 属性来创建不占据页面空间的不可见元素。

说明

这个属性指定是否显示一个元素生成的元素框。这意味着元素仍占据其本来的空间,不过可以完全不可见。值 collapse 在表中用于从表布局中删除列或行。

可能的值


值                   描述


visible    默认值。元素是可见的。    

hidden    元素是不可见的。    

collapse    当在表格元素中使用时,此值可删除一行或一列,但是它不会影响表格的布局。被行或列占据的空间会留给其他内容使用。如果此值被用在其他的元素上,会呈现                     为 "hidden"。    

inherit    规定应该从父元素继承 visibility 属性的值。    

实例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>实例</title> 
<style type="text/css">
.visibilityHidden { visibility: hidden; }
.visibilityVisible { visibility: visible; }
</style>
<body>
<!-- 注意第一个图片虽然隐藏了,但是位置还是被占据的 -->
<p>
    <a href="#" class="visibilityHidden">
        <img src="http://img.educity.cn/article_image/2013082620/321090200502.jpg" />
    </a>
</p>
<p>
    <a href="#" class="visibilityHidden">
        <img class="visibilityVisible" src="http://img.educity.cn/article_image/2013082620/321090200502.jpg" />
    </a>
</p>
</body>
</html>

CSS Display - 块和内联元素

块元素是一个元素,占用了全部宽度,在前后都是换行符。

块元素的例子:

<h1>

<p>

<div>

内联元素只需要必要的宽度,不强制换行。

内联元素的例子:

<span>

<a>

如何改变一个元素显示

可以更改内联元素和块元素,反之亦然,可以使页面看起来是以一种特定的方式组合,并仍然遵循web标准。

下面的示例把列表项显示为内联元素:

li {display:inline;}

下面的示例把span元素作为块元素:

span {display:block;}

注意:变更元素的显示类型看该元素是如何显示,它是什么样的元素。例如:一个内联元素设置为display:block是不允许有它内部的嵌套块元素。


下一节
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>实例</title> <style type="text/css"> p {display:inline;} span { display:block; } </style> <body> <p>上海银监局召集辖内机构高层开会,发出严控房地产贷款风险的警示。</p> <p>据新华社电住建部通报杭州、深圳楼市散布谣言案例,要求各地依法严肃查处散布谣言扰乱房地产市场秩序的违法违规行为。</p> <br><br> <span> 香港市场成全球募资王</span> <span>混改试点望启动</span> </body> </html>
提交重置代码
章节课件