前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【CSS】布局属性:display

【CSS】布局属性:display

作者头像
毛大姑娘
发布2021-04-25 15:40:17
1.3K0
发布2021-04-25 15:40:17
举报
文章被收录于专栏:向全栈出发向全栈出发

拿到一张设计稿,最先想到的就是如何布局。

垂直布局?水平布局?悬浮?层叠样式?

今天我们来复习一下CSS原生的布局属性——display。

display

试一试

display:block;

块级元素(block):独占一行,对宽高的属性值生效;如果不给宽度,块级元素就默认为浏览器的宽度,即就是100%宽。

代码语言:javascript
复制
.block {display: block}
<span class='block'>span元素1 block</span>
<span>span元素2</span>

span元素默认是不换行的,加上block属性之后,有了换行效果。

display:inline;

行内元素(inline):可以多个标签存在一行,对宽高属性值不生效,完全靠内容撑开宽高。 不管你是什么控件,只要加上display:inline;样式就会自动变为同一个段落。

代码语言:javascript
复制
.inline {display: inline}
<p class='inline'>这是一个</p>
<p class='inline'>inline元素!</p>

p元素默认是换行的,加上inline属性之后,变成了一行。

display:inline-block;

行内块元素(inline-block):结合的行内和块级的优点,既可以设置长宽,可以让padding和margin生效,又可以和其他行内元素并排。

代码语言:javascript
复制
.inline-block {display: inline-block}
<div>
    <span>span元素2</span>
    <!-- inline-block -->
    <p class='inline-block'>span元素3</p>
    <span>span元素4</span>
</div>

p元素默认是换行的,加上inline-block属性之后,变成了一行,并且可以设置宽高和边距。

display:none;

隐藏该元素。

display:inherit;

跟随父元素的display样式;父元素block它就block,父元素inline它就inline

代码语言:javascript
复制
.inline {display: inline}
.inherit {display: inherit}
<!-- inherit -->
<div class='inline'>父元素 inline元素
    <div class='inherit'>子元素inherit元素</div>
    <div>子元素不是inherit元素</div>
</div>

div元素默认是换行的,因为父元素是inline,设置了inherit的子元素跟随父元素的属性inline,与父元素成为同一行。

其他display属性(不常用);

描述

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>)

示例汇总:试一试

代码语言:javascript
复制
<html>
<head>
<style type="text/css">
.inline {display: inline}
.none {display: none}
.block {display: block}
.inline-block {display: inline-block}
.list-item {display: list-item}
.run-in {display: run-in}
.compact {display: compact}
.marker {display: marker}
.table {display: table}
.inline-table {display: inline-table}
.table-row-group {display: table-row-group}
.table-header-group {display: table-header-group}
.table-footer-group {display: table-footer-group}
.table-row {display: table-row}
.table-column-group {display: table-column-group}
.table-column {display: table-column}
.table-cell {display: table-cell}
.table-caption {display: table-caption}
.inherit {display: inherit}
</style>
</head>

<body>
<p>本例中的样式表把段落元素设置为内联元素。</p>

<!-- inline -->
<p class='inline'>这是一个</p>
<p class='inline'>inline元素!</p>
<!-- none -->
<div class='none'>div 元素的内容不会显示出来!</div>
<div>
    <!-- block -->
    <span class='block'>span元素1 block</span>
    <span>span元素2</span>
    <!-- inline-block -->
    <p class='inline-block'>span元素3</p>
    <span>span元素4</span>
</div>
<br/>
<!-- inherit -->
<div class='inline'>父元素 inline元素
    <div class='inherit'>子元素inherit元素</div>
    <div>子元素不是inherit元素</div>
</div>
<br/>

<!-- list-item -->
<span>span元素0 非list-item</span>
<span class='list-item'>span元素1 list-item</span>
<span class='list-item'>span元素2 list-item</span>
<span>span元素3 非list-item</span>
<span>span元素4 非list-item</span>


</body>
</html>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • display
    • display:block;
      • display:inline;
        • display:inline-block;
          • display:none;
            • display:inherit;
              • 其他display属性(不常用);
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档