CSS基础学习(一): display

作者: 汐灬颜 | 来源:发表于2017-03-09 17:18 被阅读0次

学习前端已有半年多,虽说高级的框架还未怎么学习,但简单的切切页面还是比较熟练的。面对博大精深的CSS技术,总会感到一些迷茫,所以决定翻过头来重新学习一下。所以说本系列是我对以往学过的知识的总结,若有什么地方有错误或者遗漏了什么地方,还请不吝指出,小生在此先谢过了。

display属性是我们经常用到而且比较熟悉的,像none, block, inline,inline-block这四个应该是我们最常用的值,下面就来总结以下它们的用法。

<h1>none</h1>

display: none 可以关闭某个元素的显示,这个元素的所有子元素也会被关闭显示,文档渲染时,这个元素仿佛不存在。

这个属性常被用于隐藏页面中的元素,除此之外还可以用以下方法来隐藏元素,下面来细数他们的区别。

display: none与visibility: hidden

这两种方法的第一个区别就是被前者隐藏的元素不占据任何空间,被后者隐藏的元素却实际占据空间。这个想必大家都知道就不举例子了。第二个区别,被前者隐藏的元素的子元素即使设置了display: block也不会显示,而被后者隐藏的子元素若被设置visibility: visible则可以显示出来。

例子做的丑了些,勿喷

height: 0;和overflow: hidden二者搭配使用,也可以起到隐藏元素的效果,被隐藏的元素不占据空间。

最后一种是通过设置透明度,即opacity :0, 被隐藏的元素占据空间,可通过position: absolute;使其不再占据空间。这种方法与以上三种方法的最大区别就是,被此方法隐藏的元素可以被点击,而其他三种方法则不可以。

<h1>block和inline</h1>

display: block

有该属性的元素为块级元素,常见的有div,p,h1~h6,ul等,块级元素具有以下特点:

  1. 单独占据一行显示,默认情况下,其宽度会自动填满父元素宽度;
  2. 可以设置width,height属性;
  3. 可以设置margin,padding属性。

display: inline

有该属性的元素为内联元素,常见的有span,a,strong等,内联元素具有以下特点:

  1. 可以在一行排列,直到父元素宽度不够才会换行;
  2. 不可以设置width,height属性,其宽度由内容决定;
  3. 竖直方向上,即margin-top, margin-bottom, padding-top, padding-bottom无效。水平方向上,即margin-left, margin-right, padding-left, padding-right有效。

<h1>inline-block</h1>

通过display: inline-block; 可以使元素对外表现出inline元素的特性,可以排列在一行;而对内则是表现block属性,可以设置height,width,margin,padding。

但是inline-block常常会出现一个问题就是元素之间会出现莫名其妙的间距

下面说一说消除这种间距的方法

  1. 消除html中的空格,即将inline-block元素连在一起写
<div><span display="inline-block"></span><span display="inline-block"></span></div>

这种方法的不足之处就是失去代码的结构性,不能一眼看出元素关系。

  1. margin负值
    通过给每个inline-block元素添加margin负值来调整位置
span{ display: inline-block; margin-left: -5px; }

这个负值的大小需要自己来调整。

  1. font-size: 0
    这种方法在大部分浏览器都是合适的,若是在Chrome浏览器中,则需加上-webkit-text-size-adjust: none;
  2. word-spacing和letter-spacing
    这两种方法的值,因浏览器的差异,都需要自己去调。

<h1>参考资料</h1>

张鑫旭-鑫空间-鑫生活:去除inline-block元素间间距的N种方法
张鑫旭-鑫空间-鑫生活:您可能不知道的CSS元素隐藏“失效”以其妙用

相关文章

  • CSS基础学习(一): display

    学习前端已有半年多,虽说高级的框架还未怎么学习,但简单的切切页面还是比较熟练的。面对博大精深的CSS技术,总会感到...

  • CSS学习笔记之定位

    CSS的盒子及相关 盒子基础 postion,float,display——版式 边框(border)。可以设置...

  • 2019-04-05

    CSS基础样式 什么是 CSS 继承?哪些属性能继承,哪些不能? 一。无继承性的属性 1、display:规定元素...

  • css基础---display的作用

    1.块级元素、行内元素是什么?有什么区别?分别对应哪些常用标签? 块级元素:总是从新行开始,占据一行,宽度与屏幕宽...

  • css基础——border,display,visibility

    一、border:边框 1、效果: 2、代码: 3、总结: 1、border主要有3点:线条粗度,线条类型,颜色2...

  • CSS基础-08-Display(隐藏元素 display:no

    1. 隐藏元素 (display:none) 1.1 Display 作用: 隐藏某个元素,且该元素不占用空间。 ...

  • react学习路线图

    基础 HTML学习 HTML 基础学习 HTML 基础CSS学习 CSS 基础在上一步练习的基础上为页面添加样式使...

  • html css随笔

    在学习CSS背景过程中,遇到一个问题就是display属性。1.display有三种属性(block)(inlin...

  • css权威教程

    基础知识 文本使用闭合标签(标签,段落,文本) 引用文本使用自闭和标签 css display属性1:block(...

  • 关于css中display table的理解

    最近空闲时间研究了一下css。本文讲解css中display table的布局方式。 其实display tabl...

网友评论

    本文标题:CSS基础学习(一): display

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