星期三的CSS-CSSBattle#153

更新於 發佈於 閱讀時間約 4 分鐘

是的,身為前端工程師的基本功!還是需要時不時拿出來打磨一番!

很多大公司的切版與前端是分開的,但不能因為碰不到就不去理解,假如要系統性的調整樣式,那麼你就一定要懂基礎,就好像你要調整微前端的架構,總不能連包板工具的設定都不會吧!

回到正題,這系列文章每個禮拜三都會更新一題CSS Battle的題目,也歡迎想要學習或練習基礎切版的朋友們和我一起互動喔!

那麼我們這次從 #153 的問題來提供我的作法,那麼題目圖如下:

raw-image
  1. 首先我們先來思考處理西洋棋盤的部分,這邊我會考慮使用 gird 的方式排版。
  2. 除了中間那行以外,所有的粉色方格內都需要有圓形色塊。
  3. 我會在中間的那兩個粉色區塊下 class ,再透過 CSS 選擇器避開它。
  4. 圓形色塊的顯示我會考慮透過 :before 的方式顯示。

下面的 html 是按照上述所描述的產出

<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div class="clear"></div>
<div></div>
<div class="clear"></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>

大概算一下 5 x 5 = 25,所以需要 25 個 div ,又在中間那行的偶數格處理,避開顯示黃色圓形色塊的 class,方便後續選擇器避開處理。

接著我們來處理 5 x 5 棋盤格的畫面,一樣透過 gird 的排版處理,先將方塊都生出來,如下:

body {
background: #E3516E;
display: grid;
place-items: center;
place-content: center;
grid-template: repeat(5, 40px) / repeat(5, 40px);
}
div {
width: 40px;
height: 40px;
background: #FADE8B;
}

這邊可以透過 cssBattle 的工具去計算格子的大小,然後如上述的 5 x 5 排版,並在 grid-template 裡面下 repeat 函數處理方格排版。

div:nth-child(even) {
background: #E3516E;
position: relative;
}
div:not(.clear):nth-child(even)::before {
content: '';
width: 20px;
height: 20px;
background: #FADE8B;
position: absolute;
border-radius: 50%;
top: 10px;
left: 10px;
}

這邊針對偶數格處理變色,使用了nth-child(even) 並加上 position: relative;,方便待會黃色圓形色塊定位;還有避開剛剛設定的 clear class,再加上上面相同的選擇條件,並透過::before 去長出圓形色塊。

技術總結

這題除了考驗基本的常用排版之外,也考驗你對元件選擇器的使用,就如上述我所做的,透過 :not() 的方式來排除額外的區塊,偽元素的應用也是這題的一個考量,當然也可以透過 background: radial-gradient(...) 的方式直接長出圓形出來,不過我也必須承認那個做法我真的不常使用,那麼以上就是我的 100% 解法分享,一樣這題 100% 的解法絕對不會只有我這一種,大家也可以分享自己的作法與我交流,那麼我們下個禮拜三再見,Happy coding~ !


留言
avatar-img
留言分享你的想法!
avatar-img
Lee Luciano的沙龍
1會員
22內容數
Lee Luciano的沙龍的其他內容
2024/06/19
這篇文章分享了 CSS Battle 第 38 題的解法,並提供了相關的技術總結。文章內容包括了使用 flex 排版處理、背景漸層的方法處理等相關技術。透過這篇文章可以學習到如何解決 CSS 切版的問題。
Thumbnail
2024/06/19
這篇文章分享了 CSS Battle 第 38 題的解法,並提供了相關的技術總結。文章內容包括了使用 flex 排版處理、背景漸層的方法處理等相關技術。透過這篇文章可以學習到如何解決 CSS 切版的問題。
Thumbnail
2024/06/12
本文介紹了CSS Battle #172 交叉骷髏題目的解答技巧,包括圖層拆解的熟練程度和對小圓拆開處理等技巧。作者分享了100%的解法,鼓勵讀者分享自己的作法與交流。
Thumbnail
2024/06/12
本文介紹了CSS Battle #172 交叉骷髏題目的解答技巧,包括圖層拆解的熟練程度和對小圓拆開處理等技巧。作者分享了100%的解法,鼓勵讀者分享自己的作法與交流。
Thumbnail
2024/05/29
這篇文章將介紹如何透過CSS Battle的題目來練習基礎切版技巧。透過一個眼睛圖案的例子,提供了對於 border、outline、border-radius等屬性的調整方式,並分享了一種 100% 的解法。歡迎大家分享自己的作法與作者交流,一起學習成長。
Thumbnail
2024/05/29
這篇文章將介紹如何透過CSS Battle的題目來練習基礎切版技巧。透過一個眼睛圖案的例子,提供了對於 border、outline、border-radius等屬性的調整方式,並分享了一種 100% 的解法。歡迎大家分享自己的作法與作者交流,一起學習成長。
Thumbnail
看更多
你可能也想看
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
這篇文章分享了作者對CSS Battle #151題目的解題方式,並強調了圖形解構的重要性。作者提到了基本的排版能力以及實際應用的弧度計算。透過這篇文章,讀者可以學習到CSS切版的技巧,同時也可以分享自己的作法,進行交流討論。
Thumbnail
這篇文章分享了作者對CSS Battle #151題目的解題方式,並強調了圖形解構的重要性。作者提到了基本的排版能力以及實際應用的弧度計算。透過這篇文章,讀者可以學習到CSS切版的技巧,同時也可以分享自己的作法,進行交流討論。
Thumbnail
本文介紹了CSS Battle 17的挑戰題目,並提供瞭解題的技巧和方法。內容包括基本排版、圖形解構能力和技術總結。歡迎大家分享自己的解法與作者交流。
Thumbnail
本文介紹了CSS Battle 17的挑戰題目,並提供瞭解題的技巧和方法。內容包括基本排版、圖形解構能力和技術總結。歡迎大家分享自己的解法與作者交流。
Thumbnail
本篇文章分享了前端工程師在 CSS Battle #166 的解題方式,藉由使用 flex 來進行排版,並提供了相關的技術總結。歡迎一起來學習或練習基礎切版的朋友們和作者互動。
Thumbnail
本篇文章分享了前端工程師在 CSS Battle #166 的解題方式,藉由使用 flex 來進行排版,並提供了相關的技術總結。歡迎一起來學習或練習基礎切版的朋友們和作者互動。
Thumbnail
這篇文章介紹了CSS Battle每週切版#107的解題方法。它深入講解了使用grid來處理圖案的方法,同時介紹了圖層堆疊、border-radius和z-index的使用。文章中還分享了使用position: relative;調整位置的技巧。本篇文章是前端工程師們進行基礎切版學習和練習的好材料。
Thumbnail
這篇文章介紹了CSS Battle每週切版#107的解題方法。它深入講解了使用grid來處理圖案的方法,同時介紹了圖層堆疊、border-radius和z-index的使用。文章中還分享了使用position: relative;調整位置的技巧。本篇文章是前端工程師們進行基礎切版學習和練習的好材料。
Thumbnail
這是一篇關於CSS Battle系列的文章,介紹瞭如何通過CSS來處理特定圖案的切版與前端工程技術。文章分享了使用grid和radial-gradient()方法來處理特定圖案的解法以及相關技術總結。
Thumbnail
這是一篇關於CSS Battle系列的文章,介紹瞭如何通過CSS來處理特定圖案的切版與前端工程技術。文章分享了使用grid和radial-gradient()方法來處理特定圖案的解法以及相關技術總結。
Thumbnail
在CSS Battle的第153題,我們會使用grid、css選擇器、偽元素等技巧來解決西洋棋盤的排版問題。這篇文章分享了完整的解法,包括選擇器使用、偽元素的應用以及其他排版技巧,並激勵讀者分享自己的解法。
Thumbnail
在CSS Battle的第153題,我們會使用grid、css選擇器、偽元素等技巧來解決西洋棋盤的排版問題。這篇文章分享了完整的解法,包括選擇器使用、偽元素的應用以及其他排版技巧,並激勵讀者分享自己的解法。
Thumbnail
這篇文章將解析CSS Battle第136題的解法,主要考驗基本CSS置中排版的能力,並提供了作者的解法與技術總結。透過互動學習,讓想要學習或練習基礎切版的朋友可以參與討論。
Thumbnail
這篇文章將解析CSS Battle第136題的解法,主要考驗基本CSS置中排版的能力,並提供了作者的解法與技術總結。透過互動學習,讓想要學習或練習基礎切版的朋友可以參與討論。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News