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

本文介绍了CSS中display和visibility属性的使用方法,展示了如何通过这些属性控制网页元素的显示方式,包括隐藏元素、调整块级与内联元素以及使用collapse属性控制表格行的可见性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   display属性设置一个元素如何显示,visibility属性指定一个元素可见还是隐藏。

隐藏元素--display:none或visibility:hidden

   隐藏一个元素可以通过把display属性设置为"none",或把visibility属性设置为"hidden",但是请注意,这两种方法会产生不同的效果。

   visibility:hidden可以因此某个元素,但隐藏的元素仍需占用与隐藏之前一样的空间。也就是会所,该元素虽然被隐藏了,但仍然会印象布局。

<!DOCTYPE html>
<html>  
<head>  
    <meta charset="utf-8">  
    <title>自学教程(如约智惠.com)</title>  
	<style>
		h1.hidden {visibility:hidden;}
	</style>
</head>  
<body > 
	<h1>这是一个可见标题</h1>
	<h1 class="hidden">这是一个隐藏标题</h1>
	<p>注意,实例中的隐藏标题仍然占用空间。</p>
</body>  
</html>

   display:none可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。

<!DOCTYPE html>
<html>  
<head>  
    <meta charset="utf-8">  
    <title>自学教程(如约智惠.com)</title>  
	<style>
		h1.hidden {display:none;}
	</style>
</head>  
<body > 
	<h1>这是一个可见标题</h1>
	<h1 class="hidden">这是一个隐藏标题</h1>
	<p>注意,实例中的隐藏标题不占用空间。</p>
</body>  
</html>

CSS Display -- 块和内联元素

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

   块元素的例子:

  • <h1>
  • <p>
  • <div>

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

  内联元素的例子:

  • <span>
  • <a>

 

如何改变一个元素显示

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

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

<!DOCTYPE html>
<html>  
<head>  
    <meta charset="utf-8">  
    <title>自学教程(如约智惠.com)</title>  
	<style>
		li{display:inline;}
	</style>
</head>  
<body > 
	<p>链接列表水平显示:</p>
	
	<ul>
		<li><a href="/html/" target="_blank">HTML</a></li>
		<li><a href="/css/" target="_blank">CSS</a></li>
		<li><a href="/js/" target="_blank">JavaScript</a></li>
		<li><a href="/xml/" target="_blank">XML</a></li>
	</ul>
</body>  
</html>

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

<!DOCTYPE html>
<html>  
<head>  
    <meta charset="utf-8">  
    <title>自学教程(如约智惠.com)</title>  
	<style>
		span
		{
			display:block;
		}
	</style>
</head>  
<body > 
	<h2>Nirvana</h2>
	<span>Record: MTV Unplugged in New York</span>
	<span>Year: 1993</span>
	<h2>Radiohead</h2>
	<span>Record: OK Computer</span>
	<span>Year: 1997</span>
</body>  
</html>

实例

   如何显示元素的内联元素

<!DOCTYPE html>
<html>  
<head>  
    <meta charset="utf-8">  
    <title>自学教程(如约智惠.com)</title>  
	<style>
		p {display:inline;}
	</style>
</head>  
<body > 
	<p>display 属性的值为 "inline"的结果</p>
	<p>两个元素显示在同一水平线上。</p>
</body>  
</html>

   如何显示元素的块元素

<!DOCTYPE html>
<html>  
<head>  
    <meta charset="utf-8">  
    <title>自学教程(如约智惠.com)</title>  
	<style>
		span
		{
			display:block;
		}
	</style>
</head>  
<body > 
	<span>display 属性值为 "block" 的结果</span> <span>这两个元素之间的换行符。</span>
</body>  
</html>

   如何使用一个表的collapse属性

 

<!DOCTYPE html>
<html>  
<head>  
    <meta charset="utf-8">  
    <title>自学教程(如约智惠.com)</title>  
	<style>
		table, th, td {
		border: 1px solid black;
	}

	tr.collapse {
		visibility: collapse;
	}
	</style>
</head>  
<body > 
	<table>
	  <tr>
		<th>Firstname</th>
		<th>Lastname</th>
	  </tr>
	  <tr>
		<td>Peter</td>
		<td>Griffin</td>
	  </tr>
	  <tr class="collapse">
		<td>Lois</td>
		<td>Griffin</td>
	  </tr>
	</table>

	<p><b>注意:</b> IE8 及其更早版本需要通过指定 !DOCTYPE 才可以支持 visibility:collapse。</p>
</body>  
</html>

 

笔记

 

块级元素(block)特性:

  • 总是独占一行,表现为另起一行开始,而且其后的元素也必须另起一行显示;
  • 宽度(width)、高度(height)、内边距(padding)和外边距(margin)都可控制;

内联元素(inline)特性:

  • 和相邻的内联元素在同一行;
  • 宽度(width)、高度(height)、内边距的top/bottom(padding-top/padding-bottom)和外边距的top/bottom(margin-top/margin-bottom)都不可改变,就是里面文字或图片的大小;

块级元素主要有:

  •  address , blockquote , center , dir , div , dl , fieldset , form , h1 , h2 , h3 , h4 , h5 , h6 , hr , isindex , menu , noframes , noscript , ol , p , pre , table , ul , li

内联元素主要有:

  • a , abbr , acronym , b , bdo , big , br , cite , code , dfn , em , font , i , img , input , kbd , label , q , s , samp , select , small , span , strike , strong , sub , sup ,textarea , tt , u , var

可变元素(根据上下文关系确定该元素是块元素还是内联元素):

  • applet ,button ,del ,iframe , ins ,map ,object , script

CSS中块级、内联元素的应用:

利用CSS我们可以摆脱上面表格里HTML标签归类的限制,自由地在不同标签/元素上应用我们需要的属性。

主要用的CSS样式有以下三个:

  • display:block  -- 显示为块级元素
  • display:inline  -- 显示为内联元素
  • display:inline-block -- 显示为内联块元素,表现为同行显示并可修改宽高内外边距等属性

我们常将<ul>元素加上display:inline-block样式,原本垂直的列表就可以水平显示了。

 

参考:

https://www.yuque.com/docs/share/5f910e0a-b253-4255-a752-e248bc959059

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值