您好,登錄后才能下訂單哦!
這篇文章主要介紹“有哪些CSS基礎知識”,在日常操作中,相信很多人在有哪些CSS基礎知識問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”有哪些CSS基礎知識”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
一、流
“流”又叫文檔流,是css的一種基本定位和布局機制。流是html的一種抽象概念,暗喻這種排列布局方式好像水流一樣自然自動。“流體布局”是html默認的布局機制,如你寫的html不用css,默認自上而下(塊級元素如div)從左到右(內聯元素如span)堆砌的布局方式。
二、塊級元素和內聯元素
這個大家肯定都知道。
塊級元素是指單獨撐滿一行的元素,如div、ul、li、table、p、h2等元素。這些元素的display值默認是block、table、list-item等。
內聯元素又叫行內元素,指只占據它對應標簽的邊框所包含的空間的元素,這些元素如果父元素寬度足夠則并排在一行顯示的,如span、a、em、i、img、td等。這些元素的display值默認是inline、inline-block、inline-table、table-cell等。
實際開發中,我們經常把display計算值為inline inline-block inline-table table-cell的元素叫做內聯元素,而把display計算值為block的元素叫做塊級元素。
三、width: auto和height: auto
width、height的默認值都是auto。
對于塊級元素,width: auto的自動撐滿一行。
對于內聯元素,width: auto則呈現出包裹性,即由子元素的寬度決定。
無論內聯元素還是塊級元素,height: auto都是呈現包裹性,即高度由子級元素撐開。但是父元素設置height: auto會導致子元素height: 100%百分比失效。
流體布局之下,塊級元素的寬度width: auto是默認撐滿父級元素的。這里的撐滿并不同于width: 100%的固定寬度,而是像水一樣能夠根據margin不同而自適應的寬度。
css的屬性非常有意思,正常流下,如果塊級元素的width是個固定值,margin是auto,則margin會撐滿剩下的空間;如果margin是固定值,width是auto,則width會撐滿剩下的空間。這就是流體布局的根本所在。
四、外在盒子和內在盒子
外在盒子是決定元素排列方式的盒子,即決定盒子具有塊級特性還是內聯特性的盒子。外在盒子負責結構布局。
內在盒子是決定元素內部一些屬性是否生效的盒子。內在盒子負責內容顯示。
如 display: inline-table; 外在盒子就是inline,內在盒子就是table。外在盒子決定了元素要像內聯元素一樣并排在一排顯示,內在盒子則決定了元素可以設置寬高、垂直方向的margin等屬性。
右側的table和左側的文字在一行排列(外在盒子inline的表現特征),同時有擁有自定義寬度111px(內在盒子table可以設置寬高)。
五、css權重和超越!important
曾經有道面試題把我難住了:
// 假設下面樣式都作用于同一個節點元素`span`,判斷下面哪個樣式會生效
body#god div.dad span.son {width: 200px;}
body#god span#test {width: 250px;}
可憐當時做了三年前端的我竟然還不知道css有權重
css選擇器權重列表如下:
在css中,!important的權重相當的高,但是由于寬高會被max-width/min-width覆蓋,所以!important會失效。
width: 100px!important;
min-width: 200px;
上面代碼計算之后會被引擎解析成:
width: 200px;
到此,關于“有哪些CSS基礎知識”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。