css精粹

基礎彙總

(1)例:

    a:link:hover {background-color:red} // 未訪問鏈接鼠標懸停背景色爲red
    a:visited:hover {background-color:blue} // 訪問鏈接後鼠標懸停背景色爲blue

(2) 設置的繼承樣式在子元素上不生效:

原因:瀏覽器爲該元素設置了默認的樣式,導致繼承的樣式無效。繼承的樣式沒有特殊性。

繼承樣式的缺點:很難確定樣式的來源。

(3) 元素框的尺寸:

即爲調試時選中元素時顯示的寬高:由 (border + padding + 內容) 構成。

(4) 外邊距疊加:

普通文檔流的塊框的垂直外邊距纔會發生外邊距疊加,行內框、浮動框、絕對定位框之間的外邊距不會疊加。

外邊距疊加的應用:使得段落文本之間的間距一致。

(5) css中三種基本定位機制:

普通流、浮動和絕對定位。

(6) 行內框:

①修改行框尺寸的方法:修改行高、水平邊框、內邊距和外邊距。

②行內框豎直方向上的內邊距無效嗎?

在給行內框添加背景色後,設置豎直方向上的內邊距時發現確實生效了,但事實上設置的內邊距並不佔據實際的空間,即不影響其他的元素佈局。因此可以認爲給行內框設置豎直方向上的內邊距無效。

(7) 匿名塊框和匿名行框:

<div>
	some text 		<!--此處默認產生一個匿名塊框-->
	<p>text</p>
</div>

<div>
	some text		<!--此處默認產生一個匿名行框-->
	<em>text</em>
</div>

平滑滾動

(1)設置屬性:scroll-behavior: smooth;

以前使用錨點跳轉時總是快速的定位到指定位置,而使用平滑滾動後,頁面會有一個滾動的過程,效果更好。

設置時只需要給滾動的盒子設置scroll-behavior: smooth屬性即可,也可以在 css reset 時給 body, html 設置。

(2)除此之外,也可以使用JS提供的scrollIntoView(),傳入參數behavior: ‘smooth’ 。

target.scrollIntoView({
	behavior: 'smooth'
})

如果在css中設置了scroll-behavior: smooth 直接調用 target.scrollIntoView即可,不需要再傳入參數。

// 判斷是否支持scroll-behavior屬性
if (typeof window.getComputedStyle(document.body).scrollBehavior == 'undefined') {
	...
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章