如何实现css中的display属性块级元素和内联元素的相互转换?

发布时间:2020-07-08 16:35:12 作者:Leah
来源:亿速云 阅读:210

这篇文章运用简单易懂的例子给大家介绍如何实现css中的display属性块级元素和内联元素的相互转换?代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

默认情况下,段落<p>(块级元素)的默认display值为block,但可以呈现为内联值:

p{ display: inline;}

为什么不使用一个HTML内联元素,比如<SPAN >呢?

因为您选择HTML元素来表示它的意义,而不是它的渲染。如果我们决定一个段落是最适合我们的内容的,我们就不能仅仅为了造型的目的而改变标签。CSS是实现样式的。

简而言之,display允许在不改变其含义的情况下改变元素的类型。

每个display选项都有特定的渲染行为:

block 将占用整个宽度

inline 将作为纯文本

inline-block正如它的名字所暗示的那样,是一种块状和内联行为的复合体,是“两全其美”的选择

list-item类似于block占用可用的整个宽度,但显示了一个额外的项目符号

table,table-row并且table-cell都有非常具体的,虽然意外,行为,让更多的有趣布局

display:block

这会将任何元素转换为块元素。

此技术通常用于链接以增加其可点击区域,可通过设置背景颜色轻松评估。

.menu a{ background: red; color: white;}
<ul class="menu">
  <li>
    <a href="#">首页</a>
  </li>
  <li>
    <a href="#">文章</a>
  </li>
  <li>
    <a href="#">视频</a>
  </li>
  <li>
    <a href="#">登录</a>
  </li></ul>

效果如下:

如何实现css中的display属性块级元素和内联元素的相互转换?

如果我们将这些链接转换为block,我们会增加其目标区域:

.menu a{ background: red; color: white; display: block;}

效果如下:

如何实现css中的display属性块级元素和内联元素的相互转换?

display:inline

这会将任何元素转换为内联元素,就好像它们只是简单的文本一样。

它通常用于创建水平导航,其中列表项在语义上但在视觉上没有用处。

<ul class="menu">
  <li>
    <a href="#">首页</a>
  </li>
  <li>
    <a href="#">文章</a>
  </li>
  <li>
    <a href="#">视频</a>
  </li>
  <li>
    <a href="#">登录</a>

效果如下:

如何实现css中的display属性块级元素和内联元素的相互转换?

.menu li{ display: inline;}

效果如下:

如何实现css中的display属性块级元素和内联元素的相互转换?

display: list-item

显示的唯一HTML元素list-item是(不出所料)列表项 <li>,还有定义描述 <dd>。

使用项目符号点(如果在无序列表中<ul>)或使用增量编号(如果在有序列表中<ol>)呈现列表项。

由于这些项目符号和数字的呈现因浏览器而异,并且在CSS中也难以设置样式,因此display: list-item从不使用该规则。实际上,<li> 通常被渲染为display: block或者display: inline,因为它们更具灵活性。

display: none

应用display: none;HTML元素会将其从您的网页中删除,就好像它从未存在于您的代码中一样。

<p>亿速云</p>
<p class="class">亿速云</p>
<p>Php中文网</p>
.class{ display: none;}

效果如下:

如何实现css中的display属性块级元素和内联元素的相互转换?

代码中有3个段落,但只有2个出现,好像第2个段落从未存在过。

visibility: hidden

CSS属性visibility与display。略有相似。应用会visibility: hidden; 隐藏页面中的元素,但只会将其变为不可见:它仍会占用应有的空间。

<p>哈哈哈哈</p>
<p class="class">哈哈哈哈哈哈</p>
<p class="class">哈哈哈哈哈哈哈哈</p>
<p>哈哈哈哈哈哈哈哈啦</p>
.class{ visibility: hidden;}

效果如下:

如何实现css中的display属性块级元素和内联元素的相互转换?

代码中有5个段落,只有2个出现,但隐藏段落应该占用的空间仍然存在,但是你看不到它们。

关于如何实现css中的display属性块级元素和内联元素的相互转换?就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. CSS 中的内联元素、块级元素以及display的各个属性的特点
  2. css内联元素和块级元素的区别and转化

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

display属性 相互

上一篇:阿里技术专家谈:什么是架构师?成为架构师的必备条件是什么?

下一篇:自学Python第三方库的学习步骤

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》