久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

快速提升開發技能的 20 個 CSS 小技巧

本篇文章給大家分享20 個 CSS 小技巧,用于快速提升開發技能,快來收藏吧,希望對大家有所幫助!

快速提升開發技能的 20 個 CSS 小技巧

flexbox 內容換行

當我們使用 flexbox 布局的時候,默認情況下,在容器寬度不夠時,可能就會出現這樣的情況。

快速提升開發技能的 20 個 CSS 小技巧

這個主要是因為 flex-wrap 的默認值是 nowrap,所以我們需要這樣改變一下值。

.options-list {   display: flex;   flex-wrap: wrap; }

快速提升開發技能的 20 個 CSS 小技巧

間距

設計師在提供的設計稿中,很容易忽略文本在極限情況下與其他元素之間的間距,最終可能會出現這樣的情況,文字與 icon 緊挨。

快速提升開發技能的 20 個 CSS 小技巧

要處理這個情況,就是需要考慮是在文本還是 icon 部分,根據實際情況分析后選擇添加 margin 值來增加間距。

.section__title {   margin-right: 1rem; }

快速提升開發技能的 20 個 CSS 小技巧

不過這個情況,我一般會考慮在 icon 上加 margin-left,這樣的話,在沒有 icon 的時候,文字還是可以頂到容器邊緣。

長文本內容

這個就簡單,就是文本過長的處理方式,一般情況下就是換行或者截斷并已 … 的形式出現。至于選擇什么方式就要看當前頁面模塊的設計風格來決定了。

文中的處理方式是采用了截斷出 … 這種。

.username {   white-space: nowrap;   overflow: hidden;   text-overflow: ellipsis; }

快速提升開發技能的 20 個 CSS 小技巧

防止圖像被拉伸或壓縮 這種情況一般是在是圖片由用戶上傳,或者圖片未按規定比例使用導致的。

快速提升開發技能的 20 個 CSS 小技巧

處理方式就是直接使用 object-fit 屬性:

.card__thumb {   object-fit: cover; }

鎖定滾動鏈接

主要出現的情況是在當頁面中點擊彈出 modal 彈層時,頁面內容本身很長的時候。

.modal__content {   overscroll-behavior-y: contain;   overflow-y: auto; }

overscroll-behavior 雖好,但目前存在很大的兼容性問題。

快速提升開發技能的 20 個 CSS 小技巧

CSS 變量回退

這個 CSS 變量回退,說白了,其實就是當 CSS 變量值無效時而使用一個“安全值”來保證某個屬性值還是可用的。

.message__bubble {   max-width: calc(100% - var(--actions-width, 70px)); }

不過結合之前寫前端頁面時的處理方式,可能還會去考慮一下瀏覽器對 var() 的兼容性問題,那么就會再加上一個屬性。不過現在的瀏覽器來看,好像普遍性不存在這個問題。

.message__bubble {   max-width: 70px;   max-width: var(--actions-width, 70px); }

使用固定寬度或高度

這個沒啥說的,主要就是對內容過長時,溢出容器時的一個保護措施。比如當我們把高度固定為 350px 之后,內容過長就會溢出。

快速提升開發技能的 20 個 CSS 小技巧

而如果我們把 height 換成 min-height 的話,那情況就有所不同了。

快速提升開發技能的 20 個 CSS 小技巧

同理,在寬度的處理上也是一樣。

被忽略的 background-repeat

在使用背景圖的時候,如果沒加上 no-repeat 的話,默認就會把背景圖平鋪開。

快速提升開發技能的 20 個 CSS 小技巧

所以,隨手加上 no-repeat 還是一個好習慣,除非你已知這張背景圖是否要平鋪。

.hero {   background-image: url('..');   background-repeat: no-repeat; }

垂直方向的媒體查詢 這個場景目前小志在頁面中還未見過,一般在中后臺頁面出現的概率比較多,比如作者提供的頁面效果。

快速提升開發技能的 20 個 CSS 小技巧

左下角是通過 position: sticky; 定位的,可能通過 fixed 定位也是一樣吧,然后當瀏覽器的高度變小的時候,就會疊在左側的導航上面。

快速提升開發技能的 20 個 CSS 小技巧

顯然,這樣的頁面效果就不對了。而如果這個時候,通過 @media 方式判斷頁面高度,在某個安全區外我們才讓左下角這部分通過 sticky 來定位。

@media (min-height: 600px) {   .aside__secondary {     position: sticky;     bottom: 0;   } }

使用 justify-content: space-between

原文中這部分標題是 Using Justify-Content: Space-Between,但看起來更應該是 Using gap。使用什么標題不是關鍵,這部分主要是提到當使用 justify-content: space-between; 時,如果元素不夠,元素與元素之間的間距就會拉長,因為要平均分布元素之間的間距。

比如原本是想要這樣的一個效果,間距的值是固定的:

快速提升開發技能的 20 個 CSS 小技巧

在元素數量足夠的情況下,元素與元素之間的間距還是比較理想的,通過下面這個 CSS 處理方式:

.wrapper {   display: flex;   flex-wrap: wrap;   justify-content: space-between; }

但,元素的數量總是會不足的時候,那么就會這樣了。

快速提升開發技能的 20 個 CSS 小技巧

可見,其實并不是想要平均分布,而只是想要在最大的極限情況下和內容不足的時候,元素之間的間距是可控的。一般來說,這個處理方式挺多的,用 margin 之類的也是可以處理,不過目前有一個兼容性并不是十分好的 gap 能完美解決這個問題。

.wrapper {     display: flex;     flex-wrap: wrap;     gap: 1rem; }

快速提升開發技能的 20 個 CSS 小技巧

圖片上的文字 用戶體驗上的一個細節處理問題,如果在圖片上有文案,但圖片沒加載出來,或者加載失敗的時候,添加一個背景色,以保證圖片加載失敗的情況下,文字與背景能區分開。

快速提升開發技能的 20 個 CSS 小技巧

使用 CSS 網格中的固定值需注意 grid 網格布局現在開始慢慢被關注了,grid 與 flex 一樣都可以做自適應的效果,也可以使用固定值的情況。在使用固定值的時候,最好是通過 @media 判斷一下寬度,以便于滿足最小寬度時的處理。

@media (min-width: 600px) {   .wrapper {     display: grid;     grid-template-columns: 250px 1fr;     gap: 1rem;   } }

不過一般這種情況下,可能就直接改變頁面布局了,感覺作者在這個方面上擔憂是多余的。或者主要是自己未遇到過他所遇到的場景吧。

僅在需要時顯示滾動條

這個沒啥說的,一般大家都是把 scroll 設置為 auto。不過在個別情況下,可能這個 auto 會讓元素的寬度變小,然后導致內容或者布局出現一點小瑕疵。

.element {   overflow-y: auto; }

滾動條裝訂線

這個所謂的裝訂線,主要就是 scrollbar-gutter 屬性,保留滾動條的空間。在上面那個 overflow 例子中提到,如果設置為 auto 的時候,可能會導致頁面布局出現非意料的情況,那么 scrollbar-gutter 就可以處理這個問題了。

兼容性還是一個不可避免的話題。

假設不考慮兼容性的問題,那么我們就可以使用這個方法保留滾動條的空間。

.element {   scrollbar-gutter: stable; }

快速提升開發技能的 20 個 CSS 小技巧

CSS flexbox 中的最小內容大小

在使用 flex 布局的時候,很有可能其中某個 item 的文本內容很長,最終導致沒有換行而溢出容器之外。

快速提升開發技能的 20 個 CSS 小技巧

這種情況也并不是說沒有可能,就算是使用 overflow-wrap: break-word; 也不會有效果,那么這個時候需要加上 min-width: 0; 來處理。

.card__title {   overflow-wrap: break-word;   min-width: 0; }

快速提升開發技能的 20 個 CSS 小技巧

CSS 網格中的最小內容大小

與 flexbox 類似,CSS 網格的子項有一個默認的最小內容大小,即 auto,這意味著,如果存在大于網格項的元素,它將溢出。

快速提升開發技能的 20 個 CSS 小技巧

@media (min-width: 1020px) {   .wrapper {     display: grid;     grid-template-columns: 1fr 248px;     grid-gap: 40px;   } }  .carousel {   display: flex;   overflow-x: auto; }

對于網格這塊,了解的不夠深入,直接延用作者的意思就是將 grid-template-columns 的值改變一下,改為:minmax(0, 1fr) 248px 就可以得到下面這個效果。

快速提升開發技能的 20 個 CSS 小技巧

自動適合與自動填充

當時看到效果圖的時候,我還以為是 flex 布局中的情況,結果是 grid 網格布局中使用的情況。

快速提升開發技能的 20 個 CSS 小技巧

在使用 grid 布局時,如果是這樣寫,利用 auto-fit 的話,就會是上面這個效果,item 不夠時會被拉長。

  display: grid;   grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));   grid-gap: 1rem; }

而如果改為 auto-fill 的話就是下面這個效果。

快速提升開發技能的 20 個 CSS 小技巧

對于 auto-fitauto-fill 的區別可以看這張圖。

快速提升開發技能的 20 個 CSS 小技巧

圖片最大寬度

作者建議可以在 reset 部分中對 img 加上最大寬度的設置,但沒說具體是為什么。個人猜想是考慮圖片在容器中的展示吧,同時還有一個 object-fit 屬性。

img {   max-width: 100%;   object-fit: cover; }

位置:粘性css網格

在使用 CSS 網格布局時,如果子元素使用了 position: sticky 的話,由于網格子元素的默認對齊方式是 stretch,所以會被拉伸。

快速提升開發技能的 20 個 CSS 小技巧

而其實我們想要的是,左側邊欄并非拉伸效果的,所以,需要通過 align-self: start; 改變一下子元素自身的對齊方式。

aside {   align-self: start;   position: sticky;   top: 1rem; }

這樣的話,效果就不一樣了。

快速提升開發技能的 20 個 CSS 小技巧

簡單測試了一下,在 flex 布局中也是同樣的情況,主要就是因為子元素的特性是拉伸的。

分組選擇器

/* Don't do this, please */ input::-webkit-input-placeholder, input:-moz-placeholder {   color: #222; }

現在寫 CSS 的時候基本上都不會去寫帶前綴的屬性,而是通過構建工具來自動完成。所以平時也不會在意這個。按照作者的說法是,如果把這兩個寫在一起,會導致整個規則失效,建議分開寫。

input::-webkit-input-placeholder {   color: #222; }  input:-moz-placeholder {   color: #222; }

最后

以上內容看著其實都是挺簡單,挺初級的內容,但是在日常開發過程中,對于 CSS 的注意的確有一些還是不夠到位。畢竟有一些內容過于細節了。

(學習視頻分享:css視頻教程)

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
免费精品视频在线| 日韩激情一区| 日韩精品1区2区3区| 99视频精品全部免费在线视频| 日韩激情网站| 日韩一区二区免费看| 最近高清中文在线字幕在线观看1| 7m精品国产导航在线| 日韩在线播放一区二区| 日韩一区电影| 欧美日韩中文字幕一区二区三区| 精品在线网站观看| 国产色噜噜噜91在线精品| 老鸭窝毛片一区二区三区| 蜜桃精品在线| 国产一区一一区高清不卡| 欧美激情日韩| 亚洲精品美女91| 欧美专区一区二区三区| 亚洲小说欧美另类婷婷| 91亚洲一区| 老司机精品视频在线播放| 麻豆中文一区二区| 国产欧美日韩影院| 日韩欧美高清一区二区三区| 久久午夜影视| 亚洲欧洲另类| 亚洲深爱激情| 三级一区在线视频先锋| 欧美中文日韩| 亚洲精品黄色| 国产乱人伦丫前精品视频| 美女在线视频一区| 精品国产乱码久久久| 中文字幕人成乱码在线观看| se01亚洲视频 | 亚洲91久久| 精品欧美久久| 日韩va亚洲va欧美va久久| 国产日韩一区二区三区在线| 欧美精品97| 久久三级视频| 亚洲欧美专区| 福利一区在线| 秋霞影院一区二区三区| 蜜桃久久精品一区二区| 国产精品videosex极品| 在线一区视频观看| 日欧美一区二区| 色婷婷色综合| 亚洲一区久久| 国产精品欧美三级在线观看| 高清不卡亚洲| 喷白浆一区二区| 免费一区二区三区在线视频| 亚洲电影在线| 欧美亚洲网站| 肉色欧美久久久久久久免费看| 99国产精品久久久久久久成人热| 综合国产精品| 国产aa精品| 午夜亚洲精品| 精品久久久久中文字幕小说| 国产主播一区| 欧美精品中文字幕亚洲专区| 丝袜美腿诱惑一区二区三区| 免费日韩av片| av日韩中文| 亚洲美女久久| 亚洲三级网站| 国产欧美日韩亚洲一区二区三区| 日本欧美在线看| 国产一区二区久久久久| 国产精品日本欧美一区二区三区| 亚洲精品四区| 日韩国产综合| 91嫩草精品| 99久久99久久精品国产片果冰| 日韩和欧美一区二区三区| 精品国模一区二区三区| 亚洲精品福利| 欧美sm一区| 国产精品1区| 亚洲欧美网站| 欧美不卡高清一区二区三区| 国产精品亚洲综合色区韩国| 欧美在线影院| 精品久久视频| 日韩成人午夜精品| 亚洲国产专区校园欧美| 国产精品1区| 亚洲伊人精品酒店| 欧美gv在线| 国产欧美在线| 麻豆精品网站| 四虎884aa成人精品最新| 国产日韩中文在线中文字幕| 精品一区毛片| 成人日韩在线观看| 国产精品久久免费视频| 热久久免费视频| 国产精品av一区二区| 精品国产精品国产偷麻豆| 亚洲天堂av资源在线观看| 精品丝袜在线| 精品国产亚洲一区二区三区大结局| 亚洲啊v在线免费视频| 午夜日韩在线| 欧美+日本+国产+在线a∨观看| 国产盗摄——sm在线视频| 久久爱www成人| 日韩国产欧美在线视频| 视频精品一区二区| 亚洲精品网址| 一区二区三区四区在线看| 欧美激情日韩| 欧美成人精品一级| 久久国产视频网| 色狠狠一区二区三区| 国产一区白浆| 日韩午夜一区| av不卡在线| 日韩一级网站| 午夜日韩在线| 黄色日韩在线| 日韩一级网站| 亚洲欧美日韩专区| 亚洲少妇诱惑| 鲁大师影院一区二区三区| 久久福利毛片| 视频一区视频二区中文| 麻豆成人在线| 中文字幕乱码亚洲无线精品一区| 蜜臀久久久久久久| 日韩精品一级中文字幕精品视频免费观看 | 国产私拍福利精品视频二区| 免费在线观看日韩欧美| 性一交一乱一区二区洋洋av| 亚洲欧美日韩专区| 蜜臀av性久久久久蜜臀aⅴ流畅 | 日韩午夜精品| 日韩专区一卡二卡| 亚洲色图综合| 偷拍亚洲精品| 国产精品一区二区av交换| 麻豆中文一区二区| 久久中文精品| 国产成人免费| 日韩免费小视频| 99精品99| 日韩精品一区二区三区中文| 国产欧美日韩综合一区在线播放| 欧美国产另类| 成人久久一区| 99国产精品视频免费观看一公开| 免费日韩av| 日本午夜免费一区二区| 国产精品亚洲片在线播放| 国产suv精品一区二区四区视频| 91嫩草亚洲精品| 亚洲成人日韩| 鲁大师影院一区二区三区| 日韩av网站在线观看| 麻豆精品新av中文字幕| 午夜精品久久久久久久久久蜜桃| 好看的av在线不卡观看| 亚洲久草在线| 精品国产亚洲日本| 99精品美女| 亚洲精品影视| 精品久久久网| 国内亚洲精品| 日韩毛片一区| 日韩久久精品网| 99国产精品| 国产精品一线| 国产成人在线中文字幕| 91精品成人| 国产精品一线天粉嫩av| 激情婷婷久久| 一区二区亚洲视频| 精品亚洲a∨| 黄色av日韩| 国产精品一国产精品| 国产精品久久久久av电视剧| 首页国产欧美日韩丝袜| 国产精品日韩精品中文字幕| 亚洲一级少妇| 日韩中文字幕| 精品丝袜在线| 欧美精品观看| 日韩欧美精品| 一区二区三区四区在线观看国产日韩| 久久精品国产99国产| 欧美va亚洲va日韩∨a综合色| 国产丝袜一区| 亚洲色诱最新| 首页国产精品| 亚洲三级在线| 免费精品国产的网站免费观看|