你不一定知道的CSS的那些小事

1骡技、元素的margin的top漆撞、bottom及padding的top厨内、bottom使用百分比作為單位時,其是相對父元素的寬度width的而不是我們想象的高度height独旷;

舉個例子:

Paste_Image.png

其實出現(xiàn)這種現(xiàn)象,我們可以巧用margin/padding的百分比值實現(xiàn)高度自適應(多用于占位望几,避免閃爍)

其實說白了 就是容器margin/padding的百分比參照物是父元素的寬度邓夕,而容器的width的百分比參照物也是父元素的寬度,倆屬性參照物一致顷链;

當然該元素高度上的百分比是相對其父元素高度的百分比的目代,min-height及max-height也適用這條規(guī)律。

Paste_Image.png
2嗤练、含有定位屬性的元素榛了,其top、bottom單位為百分比時煞抬,該百分比是相對于父元素的高度的霜大。同理,left战坤、right則是相對于父元素的寬度的。
Paste_Image.png

這一點途茫,我昨天在查資料寫這篇文章---最全面的元素水平垂直居中方法匯總的時候就發(fā)現(xiàn)有個大牛也理解錯了----CSS布局奇淫技巧之--各種居中 里面的第八點溪食。

3囊卜、邊框寬度不允許使用百分比值

這點就不解釋了。

4眠菇、width:100%

當父容器里有 絕對定位 的子元素時边败,子元素設置width:100%實際上指的是相對于父容器的padding+content的寬度捎废。當時子元素的定位為fixed,子元素設置width:100%登疗,則子元素為瀏覽器寬度排截,除這些情況之外的定位方式,子元素width:100% 才是指子元素的 content 辐益,其等于父元素的 content寬度断傲。

Paste_Image.png

將上面子元素的position改成了relative后智政,其寬度就變成了parent寬度。

Paste_Image.png

https://codepen.io/anon/pen/RxWQNK

即使 父元素有border垦垂,也是這樣的情況:

  .parent{
    outline: 1px solid red;
    height: 300px;
    width: 200px;
    margin: 5px;
    padding: 10px;
    position: relative;
    border: 20px solid yellow;
  }
  .children{
    outline: 1px solid blue;
    height: 150px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;

  }




    <div class="parent">父元素
      <div class="children">子元素</div>
    </div>
5、line-height

你知道line-height:150%和line-height:1.5的區(qū)別嗎劫拗?知道了就可以跳過此處,不知道繼續(xù)看下面:
舉個例子:

有單位的例子
無單位的例子

上面可以看到line-height有單位時憔足,子元素是繼承父元素的line-height的,無單位時滓彰,其line-height等于無單位的數(shù)值乘以子元素本身的字體大小欲逃。顯然為了不出現(xiàn)意外找蜜,還是建議首選無單位的稳析。

6、ex 和 ch 單位

ex:取當前作用效果的字體的x的高度彰居,在無法確定x高度的情況下以0.5em計算;
ch:以節(jié)點所使用字體中的“0”字符為基準陈惰,找不到時為0.5em;

Paste_Image.png

ex 和 ch 單位井辆,類似于 em 和 rem, 依賴于當前的字體和字體大小溶握。 但是杯缺,不同的是睡榆,這兩貨是基于字體的度量單位,依賴于設定的字體胀屿。
ch 單位通常被定義為數(shù)字0的寬度。你可以在Eric Meyers的博客里找到關于它的一些有意思的討論宿崭,例如將一個等寬字體的字母”N”的寬度設置為40ch,那么在另一種類型的字體里它卻可以包含40個字母奖蔓。這個單位的傳統(tǒng)用途主要是盲文的排版琅摩,但是除此之外锭硼,肯定還有可以應用他的地方蜕劝。
ex 定義為當前字體的小寫x字母的高度或者 1/2 的 1em。 很多時候岖沛,它是字體的中間標志。

Paste_Image.png

x-height; the height of the lower case x
這些單位有很多用途婴削,大部分用于版式的微調。比方說嗤朴,sup 元素(上角文字標),可以通過position:relative;bottom: 1ex;實現(xiàn) 雹姊。類似的方法,你可以實現(xiàn)一個下角文字標吱雏。瀏覽器默認的方式是利用
上標和下標特定垂直對齊規(guī)則瘾境,但是如果你想更細粒度更精確得控制歧杏,你可以像下面這樣做:
Css代碼

sup {  
    position: relative;  
    bottom: 1ex;  
}  
sub {  
    position: relative;  
    bottom: -1ex;  
} 
7迷守、使用calc 時運算符之間要有空格 ,否則可能無效
 width: calc(100% - 20px);  //注:減號前后要有空格盒犹,否則很可能不生效!急膀!
8、當body里面有含有margin的子元素處于body正常文檔流時慷暂,

那么body的大小不會包含處于最上部的元素的margin-top(會包含margin-left及margin-right)及最下部的元素的margin-bottom(會包含margin-left及margin-right),但是html卻都包含(也會包含margin-left及margin-right)行瑞;
例如:https://codepen.io/anon/pen/baVaya 或者https://codepen.io/anon/pen/VyvyJa

9、子元素浮動血久,且其高度設置100%,真實的高度其實沒有100%
image.png

https://stackoverflow.com/questions/3049783/how-to-make-a-floated-div-100-height-of-its-parent

擴展閱讀:

1氧吐、最全面的元素水平垂直居中方法匯總
2、12個很少被人知道的CSS事實
3座慰、Vertical Percentages in CSS

**本文版權歸本人即簡書筆名:該賬戶已被查封 所有翠拣,如需轉載請注明出處版仔。謝謝误墓! *

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市谜慌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌又沾,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件杖刷,死亡現(xiàn)場離奇詭異驳癌,居然都是意外死亡滑燃,警方通過查閱死者的電腦和手機颓鲜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乐严,“玉大人衣摩,你說我怎么就攤上這事昂验。” “怎么了既琴?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長逆济。 經常有香客問我磺箕,道長纹腌,這世上最難降的妖魔是什么滞磺? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任莱褒,我火速辦了婚禮,結果婚禮上广凸,老公的妹妹穿的比我還像新娘。我一直安慰自己谅海,他們只是感情好,可當我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布撞蜂。 她就那樣靜靜地躺著侥袜,像睡著了一般蝌诡。 火紅的嫁衣襯著肌膚如雪枫吧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天颁湖,我揣著相機與錄音,去河邊找鬼甥捺。 笑死,一個胖子當著我的面吹牛涎永,可吹牛的內容都是我干的。 我是一名探鬼主播羡微,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼妈倔!你這毒婦竟也來了?” 一聲冷哼從身側響起盯蝴,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎虑绵,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體翅睛,經...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡黑竞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了很魂。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡法挨,死狀恐怖幅聘,靈堂內的尸體忽然破棺而出坷剧,到底是詐尸還是另有隱情喊暖,我是刑警寧澤,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布陵叽,位于F島的核電站,受9級特大地震影響巩掺,放射性物質發(fā)生泄漏。R本人自食惡果不足惜胖替,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一豫缨、第九天 我趴在偏房一處隱蔽的房頂上張望端朵。 院中可真熱鬧,春花似錦冲呢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽厕诡。三九已至,卻和暖如春灵嫌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工渔嚷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人客年。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓漠吻,卻偏偏與公主長得像量瓜,于是被迫代替她去往敵國和親途乃。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案烫饼? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,748評論 1 92
  • 本課來自http://www.imooc.com/learn/9請不要用作商業(yè)用途试读。 HTML5 HTML介紹 H...
    PYLON閱讀 3,223評論 0 5
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font钩骇,text-align铝量,li...
    wzhiq896閱讀 1,749評論 0 2
  • 1.塊級元素和行內元素 塊級(block-level)元素银亲;行內(內聯(lián)、inline-level)元素群凶。 塊元素的...
    饑人谷_小侯閱讀 2,002評論 1 4
  • 學習CSS的最佳網(wǎng)站沒有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_閱讀 1,050評論 0 1