星期三的CSS-CSSBattle#151

閱讀時間約 4 分鐘

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

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

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

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

raw-image
  1. 這次是棋子,從圖面上看來可以分成四個色塊,例如:頭部、頸部、身體、底座,這部分我會透過 grid 來排版。
  2. 除了頭和身體的部分,其他的 border-radius 可能要再抓一下實際的 px 值。
  3. 身體的部分會考慮使用overflow: hidden; 的方式處理色塊,但弧度的話可能要透過橢圓面積公式計算。

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

<div class="top"></div>
<div class="neck"></div>
<div class="body"></div>
<div class="bottom"></div>

接下來是CSS的部分,按照上述和平台的工具測量色塊的寬度和高度,如下:

body {
background: #F5D6B4;
display: grid;
place-content: center;
place-items: center;
gap: 5px;
}
div {
background: #D86F45;
}
.top {
width: 50px;
height: 50px;
border-radius: 50%;
}
.neck {
height: 20px;
width: 80px;
border-radius: 5px 5px 15px 15px;
}
.body {
width: 90px;
height: 65px;
position: relative;
overflow: hidden;
}
.body::before {
content: "";
position: absolute;
width: 120px;
height: 136px;
background: #F5D6B4;
border-radius: 50%;
translate: -95px -57px;
}
.body::after {
content: "";
position: absolute;
width: 120px;
height: 136px;
background: #F5D6B4;
border-radius: 50%;
translate: 65px -57px;
}
.bottom {
height: 40px;
width: 140px;
border-radius: 20px 20px 10px 10px;
}

比較要注意的是身體部分我是透過偽元素的方式去蓋,在調整元素大小時,不能很簡單的以寬度和身體色塊的高度,直接生成橢圓形色塊去蓋,因為他的弧度並不相符,實際的弧度要遠遠大於生成的高度,這部分要花很多時間去算實際的寬高,不過這題的動機應該不會放在微小的弧度誤差上面。

技術總結

這題除了考驗基本的排版之外,還著重於圖形解構的能力,如果能理解身體的色塊是由兩個圓形堆疊在矩形之上,就可以大幅縮短排版的時間,當然實際上弧度差的計算會是要花掉更多的時間的,那麼以上就是我的 100% 解法分享,一樣這題 100% 的解法絕對不會只有我這一種,大家也可以分享自己的作法與我交流,那麼我們下個禮拜三再見,Happy coding~ !

1會員
22內容數
留言0
查看全部
發表第一個留言支持創作者!
Lee Luciano的沙龍 的其他內容
星期三的CSS-CSSBattle#160
閱讀時間約 3 分鐘
星期三的CSS-CSSBattle#153
閱讀時間約 4 分鐘
星期三的CSS-CSSBattle#96
閱讀時間約 7 分鐘
星期三的CSS-CSSBattle#107
閱讀時間約 6 分鐘
星期三的CSS-CSSBattle#166
閱讀時間約 4 分鐘
星期三的CSS-CSSBattle#17
閱讀時間約 3 分鐘
你可能也想看
最後一堂星期三的課那陣子的每週三下午,都是令我最期待的一刻。 上完半天的課程後,我火速回家,換個衣服,吃點簡單的午餐,拾起裝備,再衝回去與他們玩耍。
Thumbnail
avatar
唯哞老師
2024-02-18
星期三的下午華燈拍攝的年代,大約是我三、四年級的時候,當時好流行吹高角度,我覺得好漂釀🥰🥰🥰從小擁有實驗精神的我,吵著媽媽幫我買罐果凍髮膠、尖尾梳,利用星期三讀半天的下午,自己想辦法法吹出「夢幻高角度」。輕而易舉的,我破解了高角度的做法,每個星期三下午,我都讓自己頂著美美高角度,在家附近閒晃。 這一天,
Thumbnail
avatar
林靜怡
2023-07-27
活氧舒展+熱血戰鼓+熱力燃脂 三堂課的星期三週三又是三堂課的日子,早上在九如上活氧舒展(Jun)和熱血戰鼓(Alan),下午在博愛上熱力燃脂(Owen)。 相對靜態,又有練到平衡、肌力和伸展的活氧舒展,對我來說本季是替代樂活瑜珈的一堂課,音樂很好聽,上課很享受。今天有帶新動作,Jun說如果這動作讓屁股很酸,就要去上超能55,呵呵~我不由得會心
avatar
爸爸媽媽同學會
2023-02-08
最愛的星期三 |《Wednesday》的育成計劃被遺忘的《愛登士家庭》 在本公子的記憶中,跟《愛登士家庭》的初接觸應該是小學時期,曾在電視上看過一些片段。
Thumbnail
avatar
蜜柑公子
2023-01-23
[播客] 有讀時間 #020 - 星期三的孩子充滿悲傷今天來聊聊復古作品的延伸新作《星期三》,即使不記得舊作故事,或許也記得經典的家族合照和片頭曲的第一小節!是個很抓眼球的作品
Thumbnail
avatar
Rae 瑞姨
2023-01-11
avatar
心聆樂坊
2022-05-23
【星期三下午的閱讀寫作時光】雖然這幾天持續低溫特報,桃園觀音的風勢也特別大,但這一天孩子卻特別認真於課堂活動,讓老師覺得欣慰。
Thumbnail
avatar
@WorldPeace
2021-12-03
《星期三的常客》「你知道我為什麼喜歡喝威士忌嗎?威士忌源自uisge beatha這,意指「生命之水」……給人生命與活力的水,那不是很美好嗎?」
Thumbnail
avatar
王靈
2021-10-13
星期三的權威課:醫生永遠是對的嗎?這個月開始,我參加了作家朋友帶領的線上讀書會,這一週,她以自己的著作《親愛的,你好》一書中的一篇文章〈我姓白,名老鼠〉為主題,讓大家以醫學這個傳統的權威角色,透過書寫來審視自己的權威議題。
Thumbnail
avatar
生活實驗遊樂場
2021-07-28
#小小看電影 《#消失的星期三》──有點懸疑又帶點溫馨的人格分裂電影 簡介: 七種不同人格在一個人體內輪流出現,一週中交換醒來。有一天,普通、沒有特別嗜好的星期二突然在星期三時醒來,他發現,星期三不見了。
Thumbnail
avatar
小小文字人
2020-12-24