這篇文章主要講解了“CSS網(wǎng)格項目的縱橫比技巧有哪些”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“CSS網(wǎng)格項目的縱橫比技巧有哪些”吧!
創(chuàng)新互聯(lián)服務項目包括敦煌網(wǎng)站建設、敦煌網(wǎng)站制作、敦煌網(wǎng)頁制作以及敦煌網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,敦煌網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到敦煌省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
好,這個可能比較容易一些。 只要保證元素的寬度和網(wǎng)格區(qū)域的寬度100%相同,然后加上偽元素來處理拉伸高度的縱橫比。
<div class="grid"> <div style="--aspect-ratio: 2/1;">2/1</div> <div style="--aspect-ratio: 3/1;">3/1</div> <div style="--aspect-ratio: 1/1;">1/1</div></div>
.grid { display: grid; grid-template-columns: 1fr 1fr 1fr; place-items: start;}.grid > * { background: orange; width: 100%;}.grid > [style^='--aspect-ratio']::before { content: ""; display: inline-block; width: 1px; height: 0; padding-bottom: calc(100% / (var(--aspect-ratio)));}
注意,應用縱橫比并不一定要通過自定義屬性。可以看到,這里的臟活累活都是由底部填充(padding-bottom)這條規(guī)則完成的,它的值也可以直接用固定值或別的什么。
我覺得,其實大家想要的更可能是這樣的效果,就是設一個2:1的縱橫比,然后元素就能確確實實地跨兩列,而不是局限在一列里。做法和上面的差不多,但要加規(guī)則來實現(xiàn)跨列。
[style="--aspect-ratio: 1/1;"] { grid-column: span 1;}[style="--aspect-ratio: 2/1;"] { grid-column: span 2;}[style="--aspect-ratio: 3/1;"] { grid-column: span 3;}
如果再加進一條grid-auto-flow: dense;規(guī)則,我們還可以讓不同網(wǎng)格項目有不同的縱橫比,它們可以整齊地相互包圍,顯得很協(xié)調(diào)。
到了這里,就該講講哪些做法會把準確的縱橫比搞砸。有些文字的行高line-height屬性可能會把方框頂?shù)眠^高;要用網(wǎng)格間距grid-gap這個屬性也可能會弄亂縱橫比。如果縱橫比例要求一定超準,可能就要多試幾個固定值,碰運氣了。
如果網(wǎng)格本身沒有固定數(shù)量的行,做跨列也會變得比較麻煩。大家做的可能是重復函數(shù)repeat加自動填充auto-fill的效果,這樣最后遇到的情況可能是有幾個列不相等,那它們的縱橫比也好不到哪里去。這個問題也許下次我們再來深入研究一下。
情形 3) 硬來
網(wǎng)格有能力進行二維布局。真想做的話,只要強迫網(wǎng)格區(qū)域高和寬符合縱橫比就可以了。比如,給列和行直接設定固定的值,這種做法也不是不行:
.grid { display: grid; grid-template-columns: 200px 100px 100px; grid-template-rows: 100px 200px 300px;}
我們一般不會考慮這種方法,因為都希望元素大小靈活易變,正是由于這個原因,上面的縱橫比例子里用的技術都是基于百分比的。但是固定值仍然不失為另一種選擇。
看看Pen網(wǎng)站CodePen上縱橫比方框填充這個例子,作者Chris Coyier。
這個例子強迫網(wǎng)格區(qū)域大小固定,然后讓其中的元素拉伸填充這個區(qū)域,不過我們大可把元素的大小也固定下來。
這個問題一部分在于不但要給方框加上縱橫比,還要在方框內(nèi)實現(xiàn)對齊功能。有幾種方法可以實現(xiàn),但我認為最簡單的方法是網(wǎng)格套網(wǎng)格。給網(wǎng)格元素加上display: grid;規(guī)則,然后利用那個內(nèi)部網(wǎng)格的對齊功能來實現(xiàn)。
感謝各位的閱讀,以上就是“CSS網(wǎng)格項目的縱橫比技巧有哪些”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對CSS網(wǎng)格項目的縱橫比技巧有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關知識點的文章,歡迎關注!
網(wǎng)站欄目:CSS網(wǎng)格項目的縱橫比技巧有哪些
本文鏈接:http://vcdvsql.cn/article22/pcdcjc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、全網(wǎng)營銷推廣、動態(tài)網(wǎng)站、品牌網(wǎng)站設計、企業(yè)網(wǎng)站制作、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)