細讀CSS

關(guān)于盒模型

  • 背景應(yīng)用于由content和padding, border組成的區(qū)域谷市。

  • width 和 height 指的是content的寬度和高度

  • padding, margin百分數(shù)值是相對于其父元素的 width 計算的

  • 外邊距合并: 兩個垂直外邊距直接接觸時,形成一個外邊距
    -- 高度合并為最大的那個

    image.png

    -- 內(nèi)部嵌套的時候也會合并恍箭,除非有padding分割
    image.png

    -- 普通文檔流中塊框才會發(fā)生margin合并霜医。行內(nèi)框、浮動框或絕對定位之間的外邊距不會合并睹栖。

  • 定位
    -- z-index只能用于定位情況呻顽,flex absolute relative
    -- 存在卡住的情況


    image.png
  • 行內(nèi)元素、塊級元素
    -- 行內(nèi)元素:
    span, a, img, label, input, select, textarea, br, i, em, strong, small, button, sub, sup, code
    -- 塊級元素
    div, form, table, header, aside, section, article, figure, figcaption, h1~h6, nav, p, pre, blockqoute, canvas, ol, ul, dl

  • clear 清除浮動
    不允許某一側(cè)出現(xiàn)浮動元素

幾大布局

flex布局句葵,參閱阮一峰老師的文章

  • 子元素的float硫豆、clear和vertical-align屬性失效
  • main-axis 是x軸,cross-axis是y軸
  • 容器屬性-父組件
    flex-direction:主軸方向笼呆,row | row-reverse | column | column-reverse
    flex-wrap:一行排不下怎么換行熊响,nowrap | wrap | wrap-reverse
    (reverse從最后往前)
    flex-flow:縮寫上面兩個屬性 <flex-direction> <flex-wrap>;
    justify-content:項目在主軸上的排列方式,flex-start | flex-end | center | space-between | space-around;
    align-items:cross-aixs上排列方式诗赌,flex-start | flex-end | center | baseline | stretch
    align-content:多根軸線的對齊方式汗茄,flex-start | flex-end | center | space-between | space-around | stretch;
  • 每個item子組件屬性
    order:數(shù)值越小,排列越靠前铭若,默認為0
    flex-grow:默認為0洪碳,即使有剩余空間也不放大。根據(jù)比例劃分剩余空間
    flex-shrink:默認為1叼屠,若沒有剩余空間則縮小瞳腌。 按照比例縮小,當(dāng)然0的時候不變
    flex-basis:默認auto镜雨,分配之前占據(jù)的空間嫂侍,從而計算出上述的剩余空間
    flex:none | <'flex-grow'> <'flex-shrink'> <'flex-basis'>
    align-self:單獨指定某個item的在cross-axis上樣式,參考上面的align-items;

Grid布局

display:grid | inline-grid

  1. 定義在container父容器上面
  • grid-template-columns:每一列的列寬荚坞,grid-template-rows:每一行的行高
.container {
  display: grid;
  grid-template-columns: 100px 100px 100px;
  grid-template-rows: 100px 100px 100px;
  grid-template-columns: repeat(3, 33.33%);   // repeat(n | auto-fill,value)挑宠,auto-fill盡可能容納多的單元格
  grid-template-rows: repeat(3, 33.33%);
  grid-template-columns: 1fr 2fr;  // fr(nfr, nfr),n根據(jù)倍數(shù)分布
  grid-template-columns: 1fr 1fr minmax(100px, 1fr);   // minmax(100px颓影,1fr) 寬度范圍
  grid-template-columns: 100px auto 100px;   // auto 自己決定
  grid-template-columns: [c1] 100px [c2] 100px [c3] auto [c4, c5];  // 指定網(wǎng)格線的名稱各淀,一根可以有多個名字
  grid-template-rows: [r1] 100px [r2] 100px [r3] auto [r4];
}
  • grid-row-gap ,grid-column-gap 诡挂,grid-gap 設(shè)置行間距碎浇、列間距临谱、合并
  • grid-template-areas 一個區(qū)域由單個或多個單元格組成
.container {
  display: grid;
  grid-template-columns: 100px 100px 100px;
  grid-template-rows: 100px 100px 100px;
  grid-template-areas: 'a b c'
                       'd . f'
                       'g . i';      //  使用"點"(.)表示不需要用的。a-i命名了區(qū)域奴璃,每個區(qū)域的起始網(wǎng)格線悉默,會自動命名為區(qū)域名-start,終止網(wǎng)格線自動命名為區(qū)域名-end
}
  • grid-auto-flow 排放順序
    grid-auto-flow:row | column, dense 默認row按行排列溺健,dense則是盡可能緊密排放
  • 對齊:container的每個item
.container {
  justify-items: start | end | center | stretch;   // 水平
  align-items: start | end | center | stretch;   //垂直
  place-items: <align-items> <justify-items>;   // 合并寫法
}
  • 對齊:當(dāng)前設(shè)置容器的本身
.container {
  justify-content: start | end | center | stretch | space-around | space-between | space-evenly;   // 水平
  align-content: start | end | center | stretch | space-around | space-between | space-evenly;    //垂直
   place-content: <align-content> <justify-content>   // 合并
}
  • 不贊同:grid-template 合并麦牺、grid合并
  1. 定義在每個item上
  • 指定每個item靠在哪條網(wǎng)格線上钮蛛,除了設(shè)置數(shù)字(第幾條)鞭缭,還可以使用名稱。
    grid-column-start屬性:左邊框所在的垂直網(wǎng)格線
    grid-column-end屬性:右邊框所在的垂直網(wǎng)格線
    grid-row-start屬性:上邊框所在的水平網(wǎng)格線
    grid-row-end屬性:下邊框所在的水平網(wǎng)格線
.item-1 {
  grid-column-start: 1;
  grid-column-end: 3;
  grid-column: 1 / 3;   //合并
  grid-row-start: 2;
  grid-row-end: 4;
  grid-row: 2 / 4;   //合并
  grid-column-start: header-start;
  grid-column-end: header-end;
  grid-column-start: span 2; // item-1的左距離右跨越2個網(wǎng)格
  grid-column-end: span 2;  // 等同于上面
}
  • grid-area
    指定項目放在哪一個區(qū)域魏颓,對應(yīng)grid-template-areas岭辣,可以合并grid-area: <row-start> / <column-start> / <row-end> / <column-end>;
  • item的對齊
    justify-self:水平,類比justify-items甸饱,只作用于單個項目沦童。
    align-self:垂直,類比align-items叹话,只作用于單個項目偷遗。
    place-self: <align-self> <justify-self>; 合并
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市驼壶,隨后出現(xiàn)的幾起案子氏豌,更是在濱河造成了極大的恐慌,老刑警劉巖热凹,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件泵喘,死亡現(xiàn)場離奇詭異,居然都是意外死亡般妙,警方通過查閱死者的電腦和手機纪铺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來碟渺,“玉大人鲜锚,你說我怎么就攤上這事∩慌模” “怎么了烹棉?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長怯疤。 經(jīng)常有香客問我浆洗,道長,這世上最難降的妖魔是什么集峦? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任伏社,我火速辦了婚禮抠刺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘摘昌。我一直安慰自己速妖,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布聪黎。 她就那樣靜靜地躺著罕容,像睡著了一般。 火紅的嫁衣襯著肌膚如雪稿饰。 梳的紋絲不亂的頭發(fā)上锦秒,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天,我揣著相機與錄音喉镰,去河邊找鬼旅择。 笑死,一個胖子當(dāng)著我的面吹牛侣姆,可吹牛的內(nèi)容都是我干的生真。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼捺宗,長吁一口氣:“原來是場噩夢啊……” “哼柱蟀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蚜厉,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤长已,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后弯囊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體痰哨,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年匾嘱,在試婚紗的時候發(fā)現(xiàn)自己被綠了斤斧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡霎烙,死狀恐怖撬讽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情悬垃,我是刑警寧澤游昼,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站尝蠕,受9級特大地震影響烘豌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜看彼,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一廊佩、第九天 我趴在偏房一處隱蔽的房頂上張望囚聚。 院中可真熱鬧,春花似錦标锄、人聲如沸顽铸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谓松。三九已至,卻和暖如春践剂,著一層夾襖步出監(jiān)牢的瞬間鬼譬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工舷手, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拧簸,地道東北人劲绪。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓男窟,卻偏偏與公主長得像,于是被迫代替她去往敵國和親贾富。 傳聞我的和親對象是個殘疾皇子歉眷,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,724評論 2 351

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