码迷,mamicode.com
首页 > Web开发 > 详细

css display属性

时间:2019-09-22 01:22:27      阅读:22      评论:0      收藏:0      [点我收藏+]

标签:sele   lin   个数   将不   text   二层   今天   red   line   

display属性共有4个值:
blcok:块级元素
inline-block:行内块级元素
inline:行内元素
none:隐藏元素,不占据空间

1.块级元素

常见的块级元素有div,p,ul,ol,li,h1~h6等
块级元素会默认占满父元素的宽度且独占一行

<div style="border:1px solid red;width: 400px;">
    <p style="background-color: aquamarine">尽可能的占满父元素的宽度</p>
</div>

2.行内元素

常见的行内元素有span,img,a,input,button,textarea、select等,他的宽度完全由内容撑开,不能为其设置宽高。
除非父元素一行放满了,行内元素不然不会换行
行内元素受父元素的text-align的影响,父元素设置text-align:center,行内元素会居中显示
行内元素受父元素的white-space的影响,父元素设置white-space:nowrap,行内元素将不会换行

3.行内块级元素

行内块级元素可以像跨级元素一样设置宽高
行内块级元素如果不设置宽高的话,他的大小默认由内容或者说子元素撑开。它的特性介于块级元素与行内元素之间
行内块级元素一样受父元素的text-align的影响,父元素可以设置父元素的text-align来决定他的对齐方式
行内块级元素素受父元素的white-space的影响,父元素设置white-space:nowrap,行内块级元素将不会换行

<div style="text-align: center">
    <span>行内元素</span>
</div>
<div style="text-align: center">
    <span style="display: inline-block">行内块级元素</span>
</div>

4.实际运用

在轮播图中,最外层的容器宽度是固定的,且overflow:hidden
第二层容器ul的宽度则是它子元素的宽度之和,因为子元素的个数不确定,所以不能在css中设定确定的宽度值
通常我们都是利用js计算出它子元素的宽度之和再赋予ul元素,今天这个例子我们不用js,利用inline-block宽度由子元素撑开的特性,让ul的宽度由子元素撑开

设置ul的样式display:inline-block,同时为了让所有的li标签不换行,设置white-space: nowrap
为了能让ul的white-space: nowrap生效,li标签需要设置display:inline-block
要消除代码换行造成的间隔,可以让父元素的字体大小设置为0,,然后子元素里面再设置字体大小即可

<div style="width: 800px;overflow: hidden;">
<ul style="display: inline-block;white-space:nowrap;font-size: 0px;">
    <li style="display: inline-block;font-size: 16px;">inline-block</li>
    <li style="display: inline-block;font-size: 16px;">inline-block</li>
    <li style="display: inline-block;font-size: 16px;">inline-block</li>
    <li style="display: inline-block;font-size: 16px;">inline-block</li>
</ul>
</div>

css display属性

标签:sele   lin   个数   将不   text   二层   今天   red   line   

原文地址:https://www.cnblogs.com/OrochiZ-/p/11565536.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!