星期三的CSS-CSSBattle#165

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

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

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

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

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

raw-image

我的思維邏輯

  1. 將圖面置中。
  2. 拆分成圓形與三角形兩個類型區塊。
  3. 三角形部分要蓋在原型部分的上方。

下面的 html 是按照上述幾個要點的結構

<div class="wrap">
<div id="t" class="c"></div>
<div id="l" class="c"></div>
<div id="r" class="c"></div>
<div class="t">
<div class="it"></div>
</div>
</div>

這裡的class 簡單以C代表圓型,T代表三角形的概念做簡寫,整個圖是以wrap做整合,那麼我們來看看置中的處理:

body {
display: grid;
place-items: center;
background: #F0CD48;
margin: 0;
}

接著,我們來處理wrap的部分:

.wrap {
width: 300px;
height: 240px;
position: relative;
display: grid;
place-items: center;
}

這邊的置中,主要是為了處理內層的三角形部分,position: relative; 主要是方便三個圓形圖案的定位移動,讓我們繼續往下處理圓形的部分,從HTML的結構可以看出,我想要將位置和形狀的處理邏輯做個簡單分類,所以id的部分我會用來處理每個圓圈應該要放的位置,實作如下:

.c {
width: 100px;
height: 100px;
background: #66284A;
border-radius: 50%;
position: absolute;
}
#t {
top: 0;
left: calc(50% - 50px);
}
#l {
left: 0;
bottom: 0;
}
#r {
right: 0;
bottom: 0;
}

最後,我們來處理三角形的部分,這邊使用的方法是直接切一個三角形來處理,這部分大家可以依照自己喜歡或習慣的方式來處理三角形,t的部分是外層的,it的部分是指內層的三角形,實作如下:

.t {
width: 0;
height: 0;
border-left: 100px solid transparent;
border-right: 100px solid transparent;
border-bottom: 140px solid #F0CD48;
z-index: 1;
position: relative;
}
.it {
width: 0;
height: 0;
border-left: 70px solid transparent;
border-right: 70px solid transparent;
border-bottom: 100px solid #66284A;
position: absolute;
top: 25;
left: -70;
}

上面就是我個人的淺見解法啦!這題除了考驗怎麼解構圖案之外,也要理解 absolute 之後上下堆疊的順序,這題 100% 的解法絕對不會只有我這一種,大家也可以分享自己的作法與我交流,那麼我們下個禮拜三再見,Happy coding~ !

avatar-img
1會員
22內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Lee Luciano的沙龍 的其他內容
是的,身為前端工程師的基本功!還是需要時不時拿出來打磨一番! 這系列文章每個禮拜三都會更新一題CSS Battle的題目與解法
是的,身為前端工程師的基本功!還是需要時不時拿出來打磨一番! 這系列文章每個禮拜三都會更新一題CSS Battle的題目解法
我不確定這個是不是台灣才有的特殊文化,總覺得這是中等以上規模的公司,普遍會發生的事情,以軟體開發來說這個情況會造成很多的誤判,錯誤的決策要比不懂來得更可怕!
走得遠和持久要比走得快更為重要,沒必要在短時間透支掉自己學習的動力,抓自己覺得舒服的學習時數,持之以恆,保持與生活的平衡,不要因為別人的成功來對自己的生活施加不必要的壓力,別人的成功可以參考應用,每個人都是不同的個體,他能承受的苦難,你未必也能承受,又或者幹嘛承受XD。
是的,身為前端工程師的基本功!還是需要時不時拿出來打磨一番! 這系列文章每個禮拜三都會更新一題CSS Battle的題目與解法
是的,身為前端工程師的基本功!還是需要時不時拿出來打磨一番! 這系列文章每個禮拜三都會更新一題CSS Battle的題目解法
我不確定這個是不是台灣才有的特殊文化,總覺得這是中等以上規模的公司,普遍會發生的事情,以軟體開發來說這個情況會造成很多的誤判,錯誤的決策要比不懂來得更可怕!
走得遠和持久要比走得快更為重要,沒必要在短時間透支掉自己學習的動力,抓自己覺得舒服的學習時數,持之以恆,保持與生活的平衡,不要因為別人的成功來對自己的生活施加不必要的壓力,別人的成功可以參考應用,每個人都是不同的個體,他能承受的苦難,你未必也能承受,又或者幹嘛承受XD。
你可能也想看
Google News 追蹤
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
先學習 HTML, CSS, JavaScript 基礎觀念, 再透過實作專案,慢慢熟悉不同的語法使用方式。
Thumbnail
這節課的學習目標是了解 CSS 的基本語法結構和使用方法。
Thumbnail
CSS 是控制網頁外觀的語言,應用於網頁設計、UI/UX 設計、電子商務和移動應用開發。主要使用者包括前端開發者、UI/UX 設計師和網頁設計師。CSS 的特性有樣式控制、層疊優先級、響應式設計及分離內容與樣式。
Thumbnail
這篇文章分享了 CSS Battle 第 38 題的解法,並提供了相關的技術總結。文章內容包括了使用 flex 排版處理、背景漸層的方法處理等相關技術。透過這篇文章可以學習到如何解決 CSS 切版的問題。
Thumbnail
本文介紹了CSS Battle #172 交叉骷髏題目的解答技巧,包括圖層拆解的熟練程度和對小圓拆開處理等技巧。作者分享了100%的解法,鼓勵讀者分享自己的作法與交流。
對於想要嘗試學習前端技術,卻還沒下定決心或不知道是否合適的初心者,六角的體驗營就像是前端開發的新手村,提供基礎的新手教學,讓你對前端有基礎的概念;教你最基本的心法,讓你去打幾隻簡單的怪累積一點經驗值。
Thumbnail
這篇文章將介紹如何透過CSS Battle的題目來練習基礎切版技巧。透過一個眼睛圖案的例子,提供了對於 border、outline、border-radius等屬性的調整方式,並分享了一種 100% 的解法。歡迎大家分享自己的作法與作者交流,一起學習成長。
Thumbnail
這篇文章分享了作者對CSS Battle #151題目的解題方式,並強調了圖形解構的重要性。作者提到了基本的排版能力以及實際應用的弧度計算。透過這篇文章,讀者可以學習到CSS切版的技巧,同時也可以分享自己的作法,進行交流討論。
Thumbnail
本文介紹了CSS Battle 17的挑戰題目,並提供瞭解題的技巧和方法。內容包括基本排版、圖形解構能力和技術總結。歡迎大家分享自己的解法與作者交流。
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
先學習 HTML, CSS, JavaScript 基礎觀念, 再透過實作專案,慢慢熟悉不同的語法使用方式。
Thumbnail
這節課的學習目標是了解 CSS 的基本語法結構和使用方法。
Thumbnail
CSS 是控制網頁外觀的語言,應用於網頁設計、UI/UX 設計、電子商務和移動應用開發。主要使用者包括前端開發者、UI/UX 設計師和網頁設計師。CSS 的特性有樣式控制、層疊優先級、響應式設計及分離內容與樣式。
Thumbnail
這篇文章分享了 CSS Battle 第 38 題的解法,並提供了相關的技術總結。文章內容包括了使用 flex 排版處理、背景漸層的方法處理等相關技術。透過這篇文章可以學習到如何解決 CSS 切版的問題。
Thumbnail
本文介紹了CSS Battle #172 交叉骷髏題目的解答技巧,包括圖層拆解的熟練程度和對小圓拆開處理等技巧。作者分享了100%的解法,鼓勵讀者分享自己的作法與交流。
對於想要嘗試學習前端技術,卻還沒下定決心或不知道是否合適的初心者,六角的體驗營就像是前端開發的新手村,提供基礎的新手教學,讓你對前端有基礎的概念;教你最基本的心法,讓你去打幾隻簡單的怪累積一點經驗值。
Thumbnail
這篇文章將介紹如何透過CSS Battle的題目來練習基礎切版技巧。透過一個眼睛圖案的例子,提供了對於 border、outline、border-radius等屬性的調整方式,並分享了一種 100% 的解法。歡迎大家分享自己的作法與作者交流,一起學習成長。
Thumbnail
這篇文章分享了作者對CSS Battle #151題目的解題方式,並強調了圖形解構的重要性。作者提到了基本的排版能力以及實際應用的弧度計算。透過這篇文章,讀者可以學習到CSS切版的技巧,同時也可以分享自己的作法,進行交流討論。
Thumbnail
本文介紹了CSS Battle 17的挑戰題目,並提供瞭解題的技巧和方法。內容包括基本排版、圖形解構能力和技術總結。歡迎大家分享自己的解法與作者交流。