美文网首页首页投稿(暂停使用,暂停投稿)
来自前端菜鸟对css display属性的理解

来自前端菜鸟对css display属性的理解

作者: SiHao24 | 来源:发表于2017-07-23 10:54 被阅读0次

     对于一个刚起步的新手来说,搞定css属性确实没有那么容易。现在我来说说我对display几个属性值得理解。(只是几个经常用到的属性值),不足的地方还请大佬们指正。

1.display:none

display:none; 此属性是说不让元素显示。先上图

没设置display:none 设置display:none

2.display:block

display:block是对于行内元素来说的,例如span,a,i.em等。

块级元素和行内元素的区别:

1)块级元素会独占一行,其宽度自动填满其父元素宽度

行内元素不会独占一行,相邻的行内元素会排列在同一行里,直到一行排不下,才会换行,其宽度随元素的内容而变化

2) 块级元素可以设置 width, height属性,行内元素设置width,  height无效(focus:块级元素即使设置了宽度,仍然是独占一行的)

3) 块级元素可以设置margin 和 padding.  行内元素的水平方向的padding-left,padding-right,margin-left,margin-right 都产生边距效果,但是竖直方向的padding-top,padding-bottom,margin-top,margin-bottom都不会产生边距效果。

默认显示 设置display:block之后


3.display:inline.

此属性值是针对块级元素的,使用该属性值,块级元素就不会一家为大,不再独占一行,如果其后的元素是行内元素,就会跟在这个块级元素后面显示。

默认显示 设置display:inline之后

4.display:flex

display:flex是弹性布局,我个人对display:flex深爱有加(哈哈哈),它让我们省去了很多事情,赶紧来看看他到底有什么魔法吧。

先来看看代码吧

html:

<ul>

<li>

<div class="flex-cont flex-simple">

<div class="s-img"></div>

<div class="flex-item s-word">

<p class="s-tit">title</p>

<p class="s-desc">desctiption</p>

</div>

<i><class="f-icon"></i>

</div>

</li>

</ul>

css样式:

*{

margin:0;

padding:0;

}

ul,li{

list-style:none;

}

.flex-cont{

display: -webkit-flex;

display: -webkit-box;

display:flex;

align-items:center;

/*负责垂直纵轴对齐方式*/

}

.flex-item{

flex:1;

background-color:red;

/*手机宽度有限,给最主要的元素,加比例 子元素要设置宽高,剩下的所有归设置了flex:1的元素*/

}

.s-tit{

/*高度等于行高,文字就垂直居中*/

/*line-height: 36px;

height: 36px;

color: green;*/

font-size:20px;

font-weight:bold;

}

.s-tit,

.s-desc{

line-height:1.2;

/*字体大小的1.2倍*/

}

.s-img{

/*占该占的*/

width:50px;

height:50px;

background:#31BBEE;

margin-right:5px;

}

.f-icon{

display:block;

width:20px;

height:20px;

background-color:#31BBEE;

}

实现效果

看到效果想到了什么?老铁们,是不是感觉很熟悉。这不就是QQ,微信,里面我们看到的聊天的那个界面吗,是不是超级容易就实现了。加入不使用display:flex来实现,你想到的是什么。反正我会是想到float属性,但是后果呢?很让人头疼,使用了float浮动,你就要替他擦屁股。所以,使用display:flex岂不是很爽歪歪?

详解:

使用display:flex属性的时候,假设你左边放图片,中间放文本,右面再放其他的东西的话,把这三个放到一个盒子里,给包含着三个元素的父元素设置display:flex,给左右两边设置宽度,给主元素设置flex:1(我这里把文本当做主元素),这样就轻松实现了三个元素在一行显示。是不是很nice!

小白一枚,有不当的地方恳请大佬们指正,抱拳啦。如果对您有一点帮助,给个赞呗,么么哒。

相关文章

  • 来自前端菜鸟对css display属性的理解

    对于一个刚起步的新手来说,搞定css属性确实没有那么容易。现在我来说说我对display几个属性值得理解。(只...

  • 理解与应用css中的display属性

    理解与应用css中的display属性 display属性是我们在前端开发中常常使用的一个属性,其中,最常见的有:...

  • display属性的知识点+实例解读

    display属性在前端中大致分为html dom display属性和css display属性。本文主要讲解...

  • css定位

    CSS position属性 CSS display属性 CSS float属性 (引用:https://www...

  • Css单位

    CSS 单位——来自菜鸟教程 CSS 有几个不同的单位用于表示长度。 一些设置 CSS 长度的属性有 width,...

  • CSS 定位详解

    了解更多添加697763012 CSS 有两个最重要的基本属性,前端开发必须掌握:display和position...

  • CSS布局

    CSS入门(3) CSS的常见布局 CSS常见布局使用display属性(文档流)+position属性(定位)+...

  • 2019-01-23css布局

    一 标准流 二 display属性 display属性(CSS属性): # 尽量别用下面就是示列,有系统BUG,...

  • CSS布局

    1CSS没有布局 2 CSS布局属性 2.1 css display属性 2.2 css margin: auto...

  • CSS布局

    CSS的常见布局 CSS常见布局使用display属性(文档流)+position属性(定位)+float属性(浮...

网友评论

    本文标题:来自前端菜鸟对css display属性的理解

    本文链接:https://www.haomeiwen.com/subject/rpvpkxtx.html