【知識(shí)點(diǎn)】display的N種寫(xiě)法(一)

一、display簡(jiǎn)介

display 屬性規(guī)定元素應(yīng)該生成的框的類(lèi)型。
從大的分類(lèi)來(lái)講,display的32種寫(xiě)法可以分為6個(gè)大類(lèi),再加上1個(gè)全局類(lèi),一共是7大類(lèi):外部值 內(nèi)部值 列表值 屬性值 顯示值 混合值 全局值。

二、外部值類(lèi)型的display
1) display: block;
  • 設(shè)置此值得元素將顯示為塊級(jí)元素,此元素前后會(huì)帶有換行符。
  • 我們最熟悉的<div>,最基本的塊級(jí)元素,除<div>之外,還有<h1>到<h6>,<p>,<form>,<header>,<footer>,<section>,<article>等天生都擁有這個(gè)值。
  • 當(dāng)控制使用display:none;隱藏的元素也可以使用此屬性讓其顯示
2) display: inline;
  • 設(shè)置此值得元素將顯示為內(nèi)聯(lián)元素,此元素前后沒(méi)有換行符。
  • 最典型的是<span>,還有<a>,<img>都擁有此。
3) display: run-in;
  • 此元素會(huì)根據(jù)上下文作為塊級(jí)元素或內(nèi)聯(lián)元素顯示。
  • 支持性很差?。?!谷歌火狐都不支持!?。〔挥茫。。?!
三、內(nèi)部值類(lèi)型的display
1) display: flow-root;
  • 簡(jiǎn)單的講他是最新一種BFC,也是最新的浮除浮動(dòng)的方案。雖然目前僅幾個(gè)最新瀏覽器(谷歌火狐)支持,但完全可以通過(guò)@supports()屬性做完美降級(jí)處理
    兼容性
  • 元素容器會(huì)生成一個(gè)塊盒子,并且塊盒子里的內(nèi)容是使用流布局。它總是為它建立一個(gè)新的塊格式化上下文內(nèi)容。如果你對(duì)CSS中浮動(dòng)有所了解之后,你不難發(fā)現(xiàn),容器里的元素浮動(dòng)之后,會(huì)造成容器的坍塌現(xiàn)象之類(lèi)的


    浮動(dòng)后父級(jí)坍塌

使用對(duì)父級(jí)設(shè)置display:flow-root解決塌陷

<!DOCTYPE html>
<html lang="ch">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <style>
     .outer{
         display: flow-root;
         background-color: green;
     }
     .inner{
         float: left;
         width: 100px;
         height: 100px;
         background-color: red;
     }
 </style>
</head>
<body>
 <div class="outer">
     我是外部的div
     <div class="inner">
     </div>
 </div>
</body>
</html>
2) display: table;
  • 此元素會(huì)作為塊級(jí)表格來(lái)顯示(類(lèi)似 <table>),表格前后帶有換行符
  • display:table解決了一部分需要使用表格特性但又不需要表格語(yǔ)義的情況,比如:

父元素寬度固定,想讓若干個(gè)子元素平分寬度

<!DOCTYPE html>
<html lang="ch">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <style>
     .outer{
         display: table;
         border: 1px solid #000;
         width: 600px;
     }
     .inner{
         display: table-cell;//元素當(dāng)做td或th
         width: 100px;
         height: 100px;
     }
     .inner:nth-child(2n){
         background-color: red;
     }
     .inner:nth-child(2n+1){
         background-color: green;
     }
 </style>
</head>
<body>
 <div class="outer">
     <div class="inner"></div>
     <div class="inner"></div>
     <div class="inner"></div>
     <div class="inner"></div>
     <div class="inner"></div>
 </div>
</body>
</html>
display:table;

注意:雖然display:table解決了避免使用表格的問(wèn)題,但有幾個(gè)需要注意的:
(1)display: table時(shí)padding會(huì)失效
(2)display: table-row時(shí)margin、padding同時(shí)失效
(3)display: table-cell時(shí)margin會(huì)失效

3)display: flex;
  • Flex 是 Flexible Box 的縮寫(xiě),意為"彈性布局",用來(lái)為盒狀模型提供最大的靈活性。
    這個(gè)玩意兒可大了??梢灾苯尤ニ阉骺磸椥圆季值膬?nèi)容。
4)display: grid;
  • 就像flex的升級(jí)版,布局上十分強(qiáng)大。
  • grid布局即網(wǎng)格布局,每個(gè)網(wǎng)格都有起止線,每?jī)蓷l線之間都有設(shè)定好的距離。
    這個(gè)玩意兒也可大了??梢灾苯尤ニ阉骺淳W(wǎng)格布局的內(nèi)容。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,091評(píng)論 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,771評(píng)論 1 45
  • (注1:如果有問(wèn)題歡迎留言探討,一起學(xué)習(xí)!轉(zhuǎn)載請(qǐng)注明出處,喜歡可以點(diǎn)個(gè)贊哦?。ㄗ?:更多內(nèi)容請(qǐng)查看我的目錄。) ...
    love丁酥酥閱讀 4,525評(píng)論 2 5
  • display的32種寫(xiě)法--摘抄 你知道『回』字有四種寫(xiě)法,但你知道display有32種寫(xiě)法嗎?今天我們一一道...
    yichen_china閱讀 959評(píng)論 0 3
  • 感恩浩早起幫我做早餐! 感恩今天打車(chē)很順利到了單位! 感恩運(yùn)送敷料的人對(duì)我的幫助,感恩閆阿姨怕我著涼給我羽絨服穿!...
    楊小靜3710閱讀 224評(píng)論 0 0

友情鏈接更多精彩內(nèi)容