10個讓你受益匪淺的css使用技巧

2022-01-19 03:00:42 字數 3059 閱讀 7457

1. safari 3d變換會忽略z-index的層級

解決方法:

父級,任意父級,非body級別,設定overflow:hidden可恢復和其他瀏覽器一樣的渲染。

以毒攻毒。有時候,頁面複雜,我們不能給父級設定overflow:hidden,那麼可以將被影響的元素設定乙個足夠大的translatez值就可以,如translatez(100px)。

2. 文字居中相容

正常處理文字上下居中的手段是讓元素height和line-height相等,但是安卓環境下當字型大小<14px/0.7rem的時候會出現居中失效的情況。

解決方法:

判斷系統環境(安卓/ios)分別作微調;

font-size、height、width全部放大為2倍,利用transform進行縮放

height: 1rem; 

width: 2rem;

font-size: 0.5rem;

變成:

height: 2rem;

width: 4rem;

font-size: 1rem;

transform: scale(0.5);

但由於放大之後佔據空間,左右會留白,需要利用margin負值margin: -0.35rem -0.45rem 0;調整

有解決方案是將rem改為px。

3. 2個a標籤包裹的模組做90度旋轉,其中乙個模組會出現點選失靈

定義了乙個動畫效果如下(sass**):

@keyframes official-featured_rotate  

60%,100%

}&-rotate

&__item

&:nth-child(2) }}

這裡是2個a標籤,做90度的旋轉效果使得兩個a可以迴圈切換展示。這裡2個的基本樣式是一致的,寬高也一樣。但是在安卓下(ios正常)只有開啟頁面能看到的第乙個a標籤能正常跳轉,能正常繫結事件。第二個a不能跳轉,我就想那我通過點選事件來跳轉可以不,結果繫結任何事件都不生效。

解決方法:

然後測試發現,在旋轉過程中(只要未完全旋轉90度)點選還是能一切正常的。於是把旋轉角度改為了89.99度,一切正常。動畫效果修改為:

@keyframes official-featured_rotate  

60%,100%

}

後來查詢了一下stackoverflow(裡面也是說了這個解決方法。

4. 使用currentcolor來簡化css

設定border-color、background-color等顏色的時候,可以使用currentcolor[與當前元素的字型顏色相同]來簡化css。

.div
5. 利用灰色濾鏡做樣式的disable效果

灰色圖可以直接加濾鏡,不用切多一張圖。如圖:

解決方法:

.coupon_style .disable
6. 曲線陰影的實現

效果:

7. 翹邊陰影的實現

利用:before和:after,加上絕對定位的性質,可以形成乙個矩形,這個時候結合css3的傾斜屬性skew和旋轉屬性rote。就可以形成乙個有旋轉角度的平行四邊形,這個時候再和原來的矩形重疊,則可產生翹邊效果。

效果:**:

8.利用-webkit-mask實現蒙版效果

效果圖:

**:

background: url("images/logo.png") no-repeat;

-webkit-mask : url("images/mask.png");

mask.png中黑色代表是不透明的(alpha:1),其他部分為透明的(alpha:0),將它蓋在背景圖上,注意:背景圖對應mask.png中透明的位置也會變成透明,留下非透明的形狀,即背景圖的可見形狀與mask.png的可見形狀相同。 即為"蒙版"。

9.自適應佔位方式

當未正確載入,或載入完成前,由於高度為0,其容器會因為沒有內容,導致容器無法撐高而塌陷,而如果載入較慢則會再載入完成後出現閃爍的情況。

css中,當padding-top/bottom值為百分比時,其值都是以其父元素的寬度為參照物件。因此對於寬高比例固定的情況,可以利用padding-top/bottom用於自適應佔位,解決頁面閃爍的問題。

如果僅設定值padding-top/bottom為百分比,會出現乙個問題,就是該方法容器的max-height屬性會失效,就無法限制容器的最大高度了。

因此,可以給容器新增乙個偽元素的子元素用於撐起內容,該子元素擁有乙個padding-top:100%,同時給容器乙個max-height嘗試限制容器的高度,最後內容用絕對定位的方式新增即可。如:

#container

.placeholder::after

img

但是對於寬高比例不定的來說,這樣做可能導致顯示不全,使用時要注意。

10.頁面自適應最佳實踐

經過大型專案實踐,下面這段css是最好的基於rem和vm和calc實踐**:

html 

@media screen and (min-width: 375px)

}@media screen and (min-width: 414px)

}@media screen and (min-width: 600px)

}@media screen and (min-width: 1000px)

}

歡迎關注「前端q」,認真學前端,做個有專業的技術人...

讓你受益匪淺的小故事 4 寬大

4 寬大 這是乙個關於越戰結束後一士兵的故事 他打完仗回到國內,從舊金山給父母打了乙個 爸爸,媽媽,我要回家了。但我想請你們幫我乙個忙,我要帶我的一位朋友回來。當然可以。父母回答道,你們見到他會很高興的。有些事情必須告訴你們,兒子繼續說,他在戰鬥上受了重傷他踩著了乙個地雷,失去了 乙隻胳膊和一條腿。...

你受益匪淺的十個寓言小故事

你受益匪淺的十個寓言小故事 有很多人去聽一位哲學家講授人生成功的秘訣,結果那位哲學家給每位聽眾一本小冊子,上面有10個寓言故事,人們看了以後,都覺得受益匪淺。相信自己是乙隻雄鷹 乙個人在高山之巔的鷹巢裡,抓到了乙隻幼鷹,他把幼鷹帶回家,養在雞籠裡。這只幼鷹和雞一起啄食 嬉鬧和休息。它以為自己是乙隻雞...

五個寓言故事令你受益匪淺

1 分粥有七個人曾經住在一起,每天分一大桶粥。要命的是,粥每天都是不夠的。一開 始,他們抓鬮決定誰來分粥,每天輪乙個。於是乎每週下來,他們只有一天是飽的,就是自己分粥的那一天。後來他們開始推選出乙個道德高尚的人出來分粥。強權 就會產生腐敗,大家開始挖空心思去討好他,賄賂他,搞得整個小團體烏煙障氣。然...