CSS深入淺出(1)-流

何為“流”

有人稱流是文檔流亦或者是正常留痰滋,我簡(jiǎn)稱為“流”摘能,它在css中引導(dǎo)元素的排列和定位的一條看不見(jiàn)的“水流”。
塊級(jí)元素一定是獨(dú)占一行即寡,并且依次向下排列
內(nèi)聯(lián)元素從左往右在一行中排列徊哑,需要換行的時(shí)候就會(huì)按照“之”換行。


塊級(jí)元素
內(nèi)聯(lián)元素

何為“塊級(jí)元素”

“塊級(jí)元素”對(duì)應(yīng)的英文是 block-level element聪富,常見(jiàn)的塊級(jí)元素有<div>莺丑、<li><table>
等。需要注意是墩蔓,“塊級(jí)元素”和“display 為 block 的元素”不是一個(gè)概念梢莽。例如, <li>元
素默認(rèn)的 display 值是 list-item奸披, <table>元素默認(rèn)的 display 值是table昏名,但是它們均是“塊級(jí)元素”,因?yàn)樗鼈兌挤蠅K級(jí)元素的基本特征阵面,也就是一個(gè)水平流上只能單獨(dú)顯示一個(gè)元素轻局,多個(gè)塊級(jí)元素則換行顯示洪鸭。
正是由于“塊級(jí)元素”具有換行特性,因此理論上它都可以配合 clear 屬性來(lái)清除浮動(dòng)帶來(lái)的影響仑扑。例如:

.clear:after {
content: '';
display: block; // 也可以是 table览爵,或者是 list-item
clear: both;
}

在實(shí)際開(kāi)發(fā)當(dāng)中,常用的就是blocktable镇饮,不會(huì)使用list-item蜓竹。

  1. list-item會(huì)出現(xiàn)項(xiàng)目符號(hào),需要額外多寫一行代碼list-style:none;聲明储藐。
  2. IE瀏覽器不支持俱济,兼容性不夠好。

"with:auto"

width 的默認(rèn)值是 auto钙勃。
(1) 充分利用可用空間蛛碌。比方說(shuō), <div>肺缕、<p>這些元素的寬度默認(rèn)是 100%于父級(jí)容器的左医。
(2) 收縮與包裹。典型代表就是浮動(dòng)同木、絕對(duì)定位、 inline-block 元素或 table 元素跛十。
(3) 收縮到最小彤路。 這個(gè)最容易出現(xiàn)在 table-layout 為 auto 的表格中

image.png

如上:每一列的空間不夠,文字能斷就斷芥映,中文隨便斷洲尊,英文不能斷。
(4) 超出容器限制奈偏。除非有明確的 width 相關(guān)設(shè)置坞嘀,否則上面 3 種情況尺寸都不會(huì)主動(dòng)超過(guò)父級(jí)容器寬度的,但是存在一些特殊情況惊来。

image.png

外部尺寸

<div>默認(rèn)寬度 100%顯示丽涩,是“外部尺寸”,其余全部是“內(nèi)部尺寸”裁蚁。而這唯一的“外部尺寸”矢渊,是“流”的精髓所在。

外部尺寸和流體特性

一個(gè)垂直導(dǎo)航:

a {
display: block;
width: 100%;
}

<a>元素默認(rèn) diplay 是 inline枉证,所以矮男,設(shè)置 display:block 使其塊狀化絕對(duì)沒(méi)有問(wèn)題,但后面的 width:100%就沒(méi)有任何出現(xiàn)的必要了室谚。
寫CSS一定要按照“鑫三無(wú)準(zhǔn)則”毡鉴,即“無(wú)寬度崔泵,無(wú)圖片,無(wú)浮動(dòng)”猪瞬。為何要“無(wú)寬度”管削?
原因很簡(jiǎn)單,表現(xiàn)為“外部尺寸”的塊級(jí)元素一旦設(shè)置了寬度撑螺,流動(dòng)性就丟失了含思。
流動(dòng)性,并不是看上去的寬度 100%顯示這么簡(jiǎn)單甘晤,而是一種 margin/border/padding和 content 內(nèi)容區(qū)域自動(dòng)分配水平空間的機(jī)制含潘。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<style>
  .width {
  width: 100%;
}

.nav {
  background-color: #cd0000;
}
.nav-a {
  display: block;
  margin: 0 10px;
  padding: 9px 10px;
  border-bottom: 1px solid #b70000;
  border-top: 1px solid #de3636;
  color: #fff;
}
.nav-a:first-child { border-top: 0; }
.nav-a + .nav-a + .nav-a { border-bottom: 0;}
  </style>
<body>
<h4>無(wú)寬度,借助流動(dòng)性</h4>
<div class="nav">
  <a href="" class="nav-a">導(dǎo)航1</a>
  <a href="" class="nav-a">導(dǎo)航2</a>
  <a href="" class="nav-a">導(dǎo)航3</a>
</div>
<h4>width:100%</h4>
<div class="nav">
  <a href="" class="nav-a width">導(dǎo)航1</a>
  <a href="" class="nav-a width">導(dǎo)航2</a>
  <a href="" class="nav-a width">導(dǎo)航3</a>
</div>
</body>
</html>

嘗試一下

對(duì)比

這兩個(gè)唯一的區(qū)別就是前者沒(méi)有指定寬度线婚,后者指定了width:100% 結(jié)果就是后者的尺寸超過(guò)了外部的容器遏弱。即“流動(dòng)性丟失”。

借助流動(dòng)性塞弊,就算外部的容器尺寸變化漱逸,這個(gè)導(dǎo)航也可以自適應(yīng)。這就是利用瀏覽器原生流特性的好處游沿。

盒子

width作用在“內(nèi)在盒子”
內(nèi)在盒子分為四種不同的盒子饰抒,分別是 content box、 padding box诀黍、 border box和 margin box袋坑。


盒子
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市眯勾,隨后出現(xiàn)的幾起案子枣宫,更是在濱河造成了極大的恐慌,老刑警劉巖吃环,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件也颤,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡郁轻,警方通過(guò)查閱死者的電腦和手機(jī)翅娶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)范咨,“玉大人故觅,你說(shuō)我怎么就攤上這事∏。” “怎么了输吏?”我有些...
    開(kāi)封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)替蛉。 經(jīng)常有香客問(wèn)我贯溅,道長(zhǎng)拄氯,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任它浅,我火速辦了婚禮译柏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘姐霍。我一直安慰自己鄙麦,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布镊折。 她就那樣靜靜地躺著胯府,像睡著了一般。 火紅的嫁衣襯著肌膚如雪恨胚。 梳的紋絲不亂的頭發(fā)上骂因,一...
    開(kāi)封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音赃泡,去河邊找鬼寒波。 笑死,一個(gè)胖子當(dāng)著我的面吹牛升熊,可吹牛的內(nèi)容都是我干的俄烁。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼僚碎,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼猴娩!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起勺阐,我...
    開(kāi)封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎矛双,沒(méi)想到半個(gè)月后渊抽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡议忽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年懒闷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片栈幸。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡愤估,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出速址,到底是詐尸還是另有隱情玩焰,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布芍锚,位于F島的核電站昔园,受9級(jí)特大地震影響蔓榄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜默刚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一甥郑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧荤西,春花似錦澜搅、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至秃流,卻和暖如春赂蕴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背舶胀。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工概说, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人嚣伐。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓糖赔,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親轩端。 傳聞我的和親對(duì)象是個(gè)殘疾皇子放典,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,741評(píng)論 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5基茵? 答:HTML5是最新的HTML標(biāo)準(zhǔn)奋构。 注意:講述HT...
    kismetajun閱讀 27,452評(píng)論 1 45
  • CSS 是什么 css(Cascading Style Sheets),層疊樣式表拱层,選擇器{屬性:值弥臼;屬性:值}h...
    崔敏嫣閱讀 1,475評(píng)論 0 5
  • “我不會(huì)騎單車。 小時(shí)候喜歡騎帶著四個(gè)輪子的單車根灯,一旦把左右那兩個(gè)小輪子卸掉假消,我便不會(huì)騎了腌紧,因?yàn)槲液ε拢€是不夠放...
    雅俗共賞Y閱讀 282評(píng)論 3 1
  • 【派別】文魁派 【導(dǎo)師】袁文魁、王玉印 【分舵】第二分舵 【舵主】羅婷予 【導(dǎo)圖講解】 手繪第二課——字體缰雇。手繪字...
    藝文Aurora閱讀 511評(píng)論 2 2