最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

CSS世界中那些說(shuō)起來(lái)很冷的知識(shí),你聽(tīng)過(guò)幾個(gè)?

2020-12-24 09:50 作者:每天一個(gè)禿頂小技巧  | 我要投稿

最近讀了張?chǎng)涡竦男聲?shū)《CSS世界》收獲了不少奇技淫巧和對(duì)CSS的深度理解
也正值個(gè)人在公司內(nèi)部進(jìn)行部分章節(jié)的內(nèi)容分享,于是順帶著直接把我即將分享的內(nèi)容先給大家過(guò)過(guò)目了,就當(dāng)省去了大家買(mǎi)了書(shū)后,無(wú)暇顧及觀看的尷尬吧!
本書(shū)的最后三章分別是

  • 元素的顯示與隱藏

  • 用戶界面樣式

  • 流向的改變

下面我就直接進(jìn)入主題,開(kāi)始對(duì)每一章節(jié)進(jìn)行一個(gè)非系統(tǒng)的分享了
元素的顯示與隱藏
使用CSS讓元素不可見(jiàn)的方法很多,剪裁、定位到屏幕外、透明度變化等都是可以的。雖然它們都是肉眼看不見(jiàn),但背后卻在多個(gè)維度上都有差別
下面是總結(jié)的一些比較好的隱藏實(shí)踐,大家一起來(lái)根據(jù)實(shí)際開(kāi)發(fā)場(chǎng)景來(lái)選擇合適的使用
比較好的隱藏實(shí)踐

  • 不占空間,不渲染 使用script

<script type="text/html"> ?

?<!-- 圖片是不會(huì)發(fā)送請(qǐng)求的 --> ?

??<img src="1.jpg" />?

?? ?<!-- 如果想嵌套需要借助textarea了 --> ?

??<textarea style="display: none;"> ? ??

? ?<img src="2.png" /> ?

??</textarea>?

</script>

.out {?

?? ?position: relative; ??

?left: -999em; } .clip {?

?? ?position: absolute; ?

??clip: rect(0, 0, 0, 0);

?} <div class="clip"> ?

??<div class="out">青花瓷</div>?

</div>


display與元素的顯隱
我們都知道display如果值為none,則該元素以及所有后代元素都隱藏,反之如果值是非none的情況,則都為顯示了
display可以說(shuō)是web顯隱交互中出場(chǎng)頻率最高的一種隱藏方式,是真正意義上的隱藏,干凈利落,不留痕跡
none做到了無(wú)法點(diǎn)擊、無(wú)法使用屏幕閱讀器等輔助設(shè)備訪問(wèn),不占空間,其實(shí)不僅僅是這樣,更應(yīng)該知道的是
me: 我有酒,那么別說(shuō)你沒(méi)有故事
我知道display:none你才不是一個(gè)沒(méi)有故事的女同學(xué)
display: none的元素的background-image圖片根據(jù)不同瀏覽器的情況加載情況不一

  1. 在Firefox瀏覽器下,display:none的background-image圖片不加載,包括父元素display:none也是如此

  2. 在Chrome和Safari瀏覽器,則根據(jù)父元素是否是否為none來(lái)影響圖片加載情況,父元素帶有display:none,圖片不加載。
    父元素不帶有display:none,而自身有背景圖元素帶的話,那也照樣加載


  1. 在IE瀏覽器下,無(wú)論怎么搞都會(huì)請(qǐng)求圖片資源,就是這么任性

因此,在實(shí)際開(kāi)發(fā)的時(shí)候,例如頭圖輪播切換效果
那些默認(rèn)需要隱藏的圖片作為背景圖藏在display:none元素的子元素上,這樣的細(xì)小改動(dòng)就可以明顯提升頁(yè)面的加載體驗(yàn),也是非常實(shí)用的小技巧
whatever
上面說(shuō)的興致盎然,但實(shí)際中不可能全部都是背景圖去加載圖片資源的
還有另外一個(gè)好朋友,img元素,然并卵的是,上面說(shuō)了一大堆加載不加載的情況,對(duì)img來(lái)說(shuō)沒(méi)個(gè)鳥(niǎo)用,人家不管你none不none的,依舊帶著勇闖天涯的氣概去請(qǐng)求著資源
活久見(jiàn)
都說(shuō)display:none做事最純粹,最干凈,不能被點(diǎn)擊,觸碰到,然而下面這種情況又是什么鬼?
出來(lái)解釋解釋,我們都是文明人是絕對(duì)不會(huì)動(dòng)武的!

<form action="/index.php"> ?

??<input type="submit"

id="hi" style="display: none;"> ??

?<label for="hi">提交</label>?

</form>

隱藏的按鈕會(huì)觸發(fā)click,觸發(fā)表單提交,此現(xiàn)象出現(xiàn)在時(shí)髦的瀏覽器中(IE9+,現(xiàn)代標(biāo)準(zhǔn)瀏覽器中)
既然有這種例外情況那加了display:none的意義又是什么呢?

  • 意義在于:當(dāng)按鈕和label元素不在一個(gè)水平線上的時(shí)候,點(diǎn)擊label元素不會(huì)觸發(fā)錨點(diǎn)定位

  • But:作者不推薦這么做,因?yàn)閟ubmit按鈕會(huì)丟失鍵盤(pán)可訪問(wèn)性

很多都是純天然的
HTML中有很多標(biāo)簽和屬性天然自帶display:none

  • 標(biāo)簽:style, script, dialog

  • 屬性:



  • 對(duì)于ol有序列表來(lái)說(shuō),如果子元素li有一項(xiàng)被設(shè)置了display:none,那么原本有10相的元素,最后總計(jì)數(shù)會(huì)被計(jì)算成9項(xiàng),設(shè)置display:none的那項(xiàng)被后面的兄弟給取代了

  • 還有一點(diǎn)就是display:none其實(shí)并不會(huì)影響css3 animation動(dòng)畫(huà)的實(shí)現(xiàn),而只是會(huì)影響transition過(guò)渡效果的執(zhí)行,因此transition和visibility屬性關(guān)系更好 (老鐵扎心了)

既然說(shuō)到了visibility了,那么就趕緊邀請(qǐng)visibility閃亮登場(chǎng)吧
visibility與元素的顯隱
visibility要為自己正名,不僅僅是保留空間這么簡(jiǎn)單
看點(diǎn)多多:

  1. 繼承性(最有意思的一個(gè)特點(diǎn),不是我說(shuō)的)

  • 父元素設(shè)置visibility:hidden,子元素也繼承了該屬性,也是看不見(jiàn)的

  • 不過(guò)本質(zhì)區(qū)別在于,父元素設(shè)置了hidden后,子元素設(shè)置visible后,子元素是可以被看都的

  • 這點(diǎn)父元素設(shè)置了display:none,子元素就永遠(yuǎn)看不到了



2. 與css計(jì)數(shù)器
visibility:hidden雖然讓元素不可見(jiàn)了,但是不影響其計(jì)數(shù)效果,不會(huì)重新計(jì)算結(jié)果

3. 與transition
設(shè)置了visibility:hidden的元素,可以很好的展現(xiàn)transition過(guò)渡效果
這是因?yàn)閠ransition支持的css屬性中有visibility(果然是兄弟),而并沒(méi)有display屬性

  1. 與JS

visibility:hidden除了對(duì)transition友好外,對(duì)js來(lái)說(shuō)也很友好
在實(shí)際開(kāi)發(fā)中,需要對(duì)隱藏元素進(jìn)行尺寸和位置的獲取,來(lái)實(shí)現(xiàn)布局精確定位的交互
此時(shí),就建議使用visibility:hidden

作者:chenhongdong
鏈接:juejin.cn/post/68449036
來(lái)源:掘金
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

想要了解更多可以點(diǎn)擊了解更多哦~

尚學(xué)堂最新2020版Java300集教程課程

CSS世界中那些說(shuō)起來(lái)很冷的知識(shí),你聽(tīng)過(guò)幾個(gè)?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
汉源县| 吉林省| 石台县| 曲沃县| 庆阳市| 兴仁县| 肥东县| 怀集县| 集贤县| 宁德市| 巨野县| 濮阳市| 伊吾县| 威远县| 乌拉特前旗| 陵川县| 西宁市| 临海市| 新巴尔虎右旗| 绵阳市| 盘锦市| 宁阳县| 永德县| 湖口县| 遂昌县| 民丰县| 澜沧| 玛多县| 佛冈县| 青冈县| 赞皇县| 淄博市| 阿城市| 宿州市| 宁城县| 古丈县| 富民县| 呼图壁县| 普格县| 乡城县| 昌都县|