css常見樣式2

1.text-align: center的作用是什么,作用在什么元素上?能讓什么元素水平居中?

text-align 屬性規定元素中的文本的水平對齊方式。
該屬性通過指定行框與哪個點對齊,從而設置塊級元素內文本的水平對齊方式。通過允許用戶代理調整行內容中字母和字之間的間隔,可以支持值 justify;不同用戶代理可能會得到不同的結果。

從上述引用表述可以看出,text-align的作用是規定元素中文本的水平對齊方式。text-align的取值不同,元素中文本的水平對齊方式不同。

  • left 把文本排列到左邊。默認值:由瀏覽器決定。
  • right 把文本排列到右邊。
  • center 把文本排列到中間。
  • justify 實現兩端對齊文本效果。
  • inherit 規定應該從父元素繼承 text-align 屬性的值。
    簡單測試一下:簡單測試
    通過測試可以看出,text-align:justify;效果并不是所想到的將 文本拉伸到兩端對齊,而是一種緊密的排列方式。具體可參考以下引用:

最后一個水平對齊屬性是 justify,它會帶來自己的一些問題。
值 justify 可以使文本的兩端都對齊。在兩端對齊文本中,文本行的左右兩端都放在父元素的內邊界上。然后,調整單詞和字母間的間隔,使各行的長度恰好相等。您也許已經注意到了,兩端對齊文本在打印領域很常見。不過在 CSS 中,還需要多做些考慮。
要由用戶代理(而不是 CSS)來確定兩端對齊文本如何拉伸,以填滿父元素左右邊界之間的空間。例如,有些瀏覽器可能只在單詞之間增加額外的空間,而另外一些瀏覽器可能會平均分布字母間的額外空間(不過 CSS 規范特別指出,如果 letter-spacing 屬性指定為一個長度值,“用戶代理不能進一步增加或減少字符間的空間”)。還有一些用戶代理可能會減少某些行的空間,使文本擠得更緊密。所有這些做法都會影響元素的外觀,甚至改變其高度,這取決于用戶代理的對齊選擇影響了多少文本行。
CSS 也沒有指定應當如何處理連字符(注1)。大多數兩端對齊文本都使用連字符將長單詞分開放在兩行上,從而縮小單詞之間的間隔,改善文本行的外觀。不過,由于 CSS 沒有定義連字符行為,用戶代理不太可能自動加連字符。因此,在 CSS 中,兩端對齊文本看上去沒有打印出來好看,特別是元素可能太窄,以至于每行只能放下幾個單詞。當然,使用窄設計元素是可以的,不過要當心相應的缺點。

  • text-align實際是作用在塊級元素上,使得塊級元素內的行內元素居中。

2.IE 盒模型和W3C盒模型有什么區別?

  • IE盒模型


  • W3C盒模型


由上兩張圖可以看出IE盒模型與W3C盒模型的差異在width的定義上,IE盒模型的width指的是boder的寬度+padding的寬度+content的寬度,而W3C的盒模型的width指的是width的寬度。

3.*{ box-sizing: border-box;}的作用是什么?

box-sizing屬性用來設置或檢索對象的盒模型組成模式,可以取content-box和border-box.

  • content-box: padding和border不被包含在定義的width和height之內。對象的實際寬度等于設置的width值和border、padding之和,即 ( Element width = width + border + padding )
    此屬性表現為標準模式下的盒模型(即W3C盒模型)。

  • border-box: padding和border被包含在定義的width和height之內。對象的實際寬度就等于設置的width值,即使定義有border和padding也不會改變對象的實際寬度,即 ( Element width = width )
    此屬性表現為怪異模式下的盒模型(即IE盒模型)。
    *{box-sizing:border-box}即預設所有元素采用IE盒模型的模式。

4.line-height: 2和line-height: 200%有什么區別?

  • line-height:2; 是將該元素行高(即字體底端到頂端距離)設置為自身行高的2倍;
  • line-height:200%;是將該元素行高設置為其父元素高度的兩倍;

5.inline-block有什么特性?如何去除縫隙?高度不一樣的inline-block元素如何頂端對齊?

  • display:inline-block:是將元素轉化為內聯塊元素,所謂內聯塊元素即是指該元素
    (1)可以水平排列;
    (2)可以當做一個塊元素來進行設置。

  • 如何去除縫隙可以參考
    相關討論
    簡單來說就是將父元素的字體大小設置為零,這樣就能去除間隙,之后再在該元素中將正常字體設置回來。

  • 高度不一樣的一樣的inline-block元素如何頂端對齊
    可以采用vertical-align:top;的方式來進行設置:
    簡單測試一下
    根據測試結果來看,頂端對齊效果應該是指兩inline-block元素的文本頂線對齊。

  • 簡單引伸一下:關于line-height的幾個概念性的東西
    line-height翻譯為中文即為行高,line-height實際指的是兩行文字間基線之間的垂直距離。所謂“基線”是英語中的一個概念,
    基線的定義

    基線.png

  • 如圖第三條線即為基線。
    詳細概念參考文章1
    詳細概念參考文章2
    詳細概念參考文章3

6.CSS sprite 是什么?

叫css精靈,是一種網頁圖片應用處理方式。將不同的圖片/圖標合并到一張圖片上。這樣可以減少網絡請求次數,提高網頁加載性能。

7.讓一個元素"看不見"有幾種方式?有什么區別?

display:none;
將元素設置為display:none后,元素在頁面上將徹底消失,元素本來占有的空間就會被其他元素占有,也就是說它會導致瀏覽器的重排和重繪。
visibility:hidden
和display:none的區別在于,元素在頁面消失后,其占據的空間依舊會保留著,所以它只會導致瀏覽器重繪而不會重排。適用于那些元素隱藏后不希望頁面布局會發生變化的場景。
opacity:0
這種方法和visibility:hidden的一個共同點是元素隱藏后依舊占據著空間,但我們都知道,設置透明度為0后,元素只是隱身了,它依舊存在頁面中。
background-color:rgba(0,0,0,0.2);設置背景色透明

8.代碼部分

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,796評論 1 92
  • 1.text-align: center的作用是什么,作用在什么元素上?能讓什么元素水平居中 屬性規定元素中的文本...
    我七閱讀 369評論 0 0
  • H5移動端知識點總結 閱讀目錄 移動開發基本知識點 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,623評論 0 26
  • 移動開發基本知識點 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,514評論 0 6
  • 一,text-align: center的作用是什么,作用在什么元素上?能讓什么元素水平居中 作用在塊級元素上面,...
    DeeJay_Y閱讀 258評論 0 0