溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

CSS替換元素怎么使用

發(fā)布時間:2022-03-18 10:51:14 來源:億速云 閱讀:210 作者:iii 欄目:web開發(fā)

這篇文章主要介紹“CSS替換元素怎么使用”的相關(guān)知識,小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“CSS替換元素怎么使用”文章能幫助大家解決問題。

1. 替換元素

根據(jù)內(nèi)容是否具有替換內(nèi)容,我們也可以把元素分為替換元素和非替換元素

替換元素,顧名思義,就是內(nèi)容可以被替代

<img src="./bg.png" />

這種通過某個屬性呈現(xiàn)出內(nèi)容的元素就是 替換元素

因此,<object>,<img>,<video>,<iframe>, 或者表單元素 <textarea>, <input>

1. 內(nèi)容的外觀不受頁面上的 css 的影響,用專業(yè)的話講就是在樣式表現(xiàn)在 css 作用于之外,如何更改替換元素的外觀?

需要類似 appearance 屬性,或者瀏覽器自身暴露一些樣式接口,例如::-ms-check{}可以更改高版本 IE 瀏覽器下單復(fù)選框的內(nèi)部樣式

2. 有自己的尺寸,在web中,很多替換元素在沒有明確尺寸的設(shè)定,其默認(rèn)尺寸是300px X 150px 如 <video>,<iframe>,<canvas>

也有很多元素替換元素為0像素,如 <img>圖片

3. 在很多 css 屬性上有自己的一套表現(xiàn)規(guī)則。比較具有代表性的就是 vertical-align 屬性,對于替換元素和非替換元素,表現(xiàn)是不太一樣的

4. 替換元素的默認(rèn) display 值

5. 替換元素的尺寸計(jì)算規(guī)則

1. 固有尺寸

指的是替換元素內(nèi)容本身原本的尺寸,例如,圖片,視頻作為一個獨(dú)立文件存在的時候,都有自己的寬度高度的

2. HTML 尺寸這個概念略微抽象

HTML 尺寸只能根據(jù) HTML屬性去改變

比如,img 的width,height 屬性

input 的size屬性, textarea的cols,rows屬性

<img width="100" height="100">

<input size="20" type="file"/>

<textarea cols="20" rows="20"></textarea>

3. css 尺寸,特指可以通過 css 的width,height或者max-width/min-width和max-height/min-height設(shè)置尺寸,對應(yīng)盒子尺寸中的 content-box

三者的優(yōu)先級如下

css 尺寸>HTML 尺寸>固有尺寸

web 開發(fā)的時候,為了提高圖片加載性能以及節(jié)省帶寬費(fèi)用,首屏加載以下的圖片就會通過滾屏加載的異步方式,然后,這個即將被一部加載的圖片為了布局穩(wěn)健,體驗(yàn)良好,往往會使用一張透明的圖片占位,例如:

<img src="transparent.png">

實(shí)際上,這個透明的展位圖也是多余的資源,我們直接:

<img>

然后,配合以下的css樣式可以實(shí)現(xiàn)一樣的多余效果

img{visibility: hidden}

img[src]{visibility: visible}

注意,這里<img>直接沒有 src 屬性,再強(qiáng)調(diào)一遍,是直接沒有,不是 src="", src=""在很多瀏覽器下,依然會有請求,而且請求的是當(dāng)前頁面的數(shù)據(jù),當(dāng)圖片的 src 屬性缺省的時候,圖片不會有任何請求,是最高效率的實(shí)現(xiàn) 方式

css 世界中的替換元素的固有尺寸有一個很重要的特性,那就是“我們無法改變這個替換元素的固有尺寸”

div::before{

content: url(1.jpg);

display: block;

width: 200px;

height: 200px;

}

width和height屬性都被直接無視了,這張圖片原始尺寸大小256px X 192px

4. 替換元素和非替換元素的距離有多遠(yuǎn)

觀點(diǎn)1:替換元素和非替換元素之間只隔一個 src 屬性

平時使用的圖片肯定都會使用 src 屬性去掉,所以難免會思維定式,認(rèn)為<img>等同于圖片,實(shí)際上完全不是,如果把 src 屬性去掉,

<img> 其實(shí)就是一個和 <span>類似的普通標(biāo)簽的內(nèi)聯(lián)樣式,也就是成了一個非替換元素

觀點(diǎn)2:替換元素和非替換元素之間只隔著了 一個 CSS content 屬性

替換元素之所以為替換元素,就是因?yàn)槠鋬?nèi)容可替換,而這個內(nèi)容就是 margin,border,padding,和content,這四個盒子中 的 content box

對應(yīng)的 css 屬性的 content,所以理論上講,content屬性決定是替換元素還是非替換元素

img{content: url(1.jpg)}

<img src="1.png">

關(guān)于“CSS替換元素怎么使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點(diǎn)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI