2020前端面試題含解析彙總——基礎篇(二)

 您的關注收藏是我持續更新總結的動力!

 歡迎各位大佬不吝才華補充更全面的解析供大家參考~

 2020前端面試題含解析彙總——基礎篇(一)

 2020前端面試題含解析彙總——基礎篇(二)

 2020前端面試題含解析彙總——基礎篇(三)

 2020前端面試題含解析彙總——基礎篇(四)

 2020前端面試題含解析彙總——基礎篇(五)

本篇主要總結CSS相關問題,共52小題

文章的最後,我會給出某些題目具體點的補充,點擊跳轉到最後 補充點

 

補充點

關於佈局講解:給你一份詳細的CSS佈局指南,請查收

 

補充第14點:

CSS中的浮動和清除浮動,梳理一下

 

補充第15點:對於position屬性,除了static值不開啓定位,其他的relative、absolute、fixed、inherit都會 開啓定位 !一般我們最常見的relative是爲absolute服務的!來看一種情況,設置position:absolute,如果父元素是<body>,不管父元素是否開啓定位,絕對定位會相對於當前頁面;如果父元素不是<body>,並且開啓定位的話,絕對定位會相對於父元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
	<title></title>
	<style>
		*{
			padding:0;
			margin:0;
			background-color:yellow;
		}
		.box1{
			width:500px;
			height:500px;
			background:green;
			margin:100px;
		}
		.box2{
			width:200px;
			height:100px;
			background:red;
			position: absolute;
			left:120px;
			top:200px;
		}
	</style>
</head>
<body>
	<div class="box1">
	    <div class="box2"></div><!-- 只要父元素沒開啓定位,還是按照body絕對定位-->
	</div>
    <!-- 如果父元素開啓定位,就按照父元素定位,我們下一個例子來看 -->
</body>
</html>

運行結果(紅塊相對於頁面的黃塊絕對定位):

 

對比來看

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
	<title></title>
	<style>
		*{
			padding:0;
			margin:0;
			background-color:yellow;
		}
		.box1{
			width:500px;
			height:500px;
			background:green;
			margin:100px;
			position:relative;   /* 如果父元素開啓定位,就按照父元素定位 */
			top:200px;
		}
		.box2{
			width:200px;
			height:100px;
			background:red;
			position: absolute;
			left:120px;
			top:200px;
		}
	</style>
</head>
<body>
	<div class="box1">   <!-- 現在父元素開啓了定位,按照box1定位 -->
	    <div class="box2"></div>
	</div>
</body>
</html>

運行結果(紅塊相對於父元素綠塊絕對定位):

 

補充第34點:僞類和僞元素的例子講解參考如下

我終於理解了僞類和僞元素

CSS中僞類與僞元素,你弄懂了嗎?

 

補充第45點,設置水平居中的方法,如果是行內元素中的文字,text-align必須設置在父級元素纔有效。比如行內元素<a>標籤中的文字,text-align: center設置在<a>中是無效的,如果沒有額外寫父級元素,那麼父級元素就是<body>,text-align: center寫在<body>纔會水平居中,如果本身就是元素,text-align: center直接設置在該元素即可,比如

<body>
    <p style="text-align: center">文字111</p>
</body>

       如果父級元素(不一定是塊元素)和子級元素都有text-align屬性,那就是就近原則,所以以子級塊元素的text-align屬性爲準,如果子級元素沒有text-align:center,父級行內元素有text-align:center,則子級塊元素的文字還是居中!綜上所述:如果文字是元素中的,會從自身開始往上找text-align屬性,找到就生效,就近生效,找不到就不生效。如果文字是行內元素中的,會找父級元素(塊!元!素)中的text-align,找到就生效,就近生效,找不到就不生效。(你必須是塊元素特性或者你父親是塊元素特性纔有或得text-align屬性的資格,然後就近原則)

繼續補充45點:行內塊級元素inline-block(inline-block擁有block的特性),可以利用text-align:center來設置水平居中效果的,比如下面的例子

button {
    width: 100px;
    height: 100px;
    background-color: yellow;
}
<div style="text-align:center">
    <button></button>
</div>

button是行內塊元素,也就是默認display:inline-block,上面的黃色區域就是水平居中的,這個也比較特殊,水平居中並不針對文字

還是補充第45點:寬度固定的時候,margin: 0 auto;可以水平居中,但是如果父元素高度固定了,怎麼同時設置垂直居中呢?比如父元素高度100px,而自身高度40px,那麼上下的空白就是60px,那麼我們設置margin: 30px auto;就可以同時水平垂直居中

次回----JavaScript

關注、留言,我們一起學習,您的收藏是我持續更新的動力!

 

===============Talk is cheap, show me the code================

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章