盒模型 – 商品卡元件製作

更新 發佈閱讀 12 分鐘

※ 解構元件:

思考:如何把設計稿分解成HTML的結構。

vocus|新世代的創作平台

圖片結構分析:

  • 卡片最大的陰影區是一個大盒子。
  • 卡片分成左右兩個部分,左邊是中等盒子,右邊是裝圖片的盒子 。
  • 左邊文字區塊(包含標題、價格、簡介、按鈕)。
  • 右邊圖片區塊(盤子上有玫瑰花瓣)。

結構圖:

vocus|新世代的創作平台

※ 商品卡實作:

建立專案資料夾:

mkdir product_card

建立CSS資料夾:

vocus|新世代的創作平台

建立images資料夾:

vocus|新世代的創作平台

建立index.htm檔案:

vocus|新世代的創作平台
vocus|新世代的創作平台


在CSS資料夾中建立style.css:

vocus|新世代的創作平台

建立初始化資料夾:

normalize.css網址:https://necolas.github.io/normalize.css/

vocus|新世代的創作平台

啟始設定:style.css

說明:是針對元素的選擇標籤做設定。

/* Global */
* {
box-sizing: border-box;
}

說明:

  • 「*」指的是全域設定。
  • 這設定是為了讓盒模型,是以邊界為準的盒模型。

超連結設定:style.css

/* 超連結設定 */
a {
text-decoration: none;
color: #000
}

標題和段落元素:index.htm

<body>
<a href="123456"></a>
<p>123456</p>
<h1>123456</h1>
<h2>123456</h2>
</body>

建構html結構:index.htm

左邊文字區塊(包含標題、價格、簡介、按鈕)

<body>
 <div class="wrapper">
    <div class="product">
      <div class="info">
        <h1 class="name">Cup'o John</h1>
        <h2 class="price">$2.5</h2>
        <p class="des">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Eius impedit omnis nam sed repellendus
          ducimus?</p>
        <a href="#" class="btn">ORDER</a>
      </div>
      <div class="image"></div>
    </div>
  </div>
</body>

說明:wrapper用來幫整個網頁或某個區塊建立結構性外框,方便做整體排版與樣式控制。

初步成果:

vocus|新世代的創作平台

高度滿版設定 :style.css

html,body {
height: 100%;
}

背景容器設定 :style.css

.wrapper {
height: 100%;
background-color: #ccc;
background: linear-gradient(#EF9FBF, #F9DED7);
}

說明:

  • background-color: 設定背景為單一色彩。
  • background: linear-gradient();:設定漸層背景,可以從一種顏色逐漸過渡到另一種,甚至多種。

顯示成果:

vocus|新世代的創作平台

Product Card設定 :style.css

.product {
width: 800px;
height: 540px;
background-color: #fff;
box-shadow: 0 20px 80px 0 rgba(0, 0, 0, 0.5);
}

說明:

  • rgba() 是用來設定「顏色 + 透明度」的工具,適合用在背景色、邊框、文字等地方,讓介面看起來更有層次感。
  • r:紅色成分(0–255)
  • g:綠色成分(0–255)
  • b:藍色成分(0–255)
  • a:透明度(0–1)【0 是完全透明、1 是完全不透】
  • 網頁的座標系統:網頁的原點 (0,0)在左上角, 所以它的X軸是向右為正,Y軸是向下為正。
  • 座標系統原理對應陰影方向:
  1. X 軸向右為正 👉 控制陰影的左右偏移。
  2. Y 軸向下為正 👉 控制陰影的上下偏移。
  3. 所以當 box-shadow 的 Y 值是正數,光源從上照下就代表陰影會往下偏移。如果你想讓陰影往上,只要把 Y 值改成負值就行:box-shadow: 0px -6px 10px rgba(0, 0, 0, 0.3);

顯示成果:

vocus|新世代的創作平台

Product Card置中設定 :style.css

.product {
display: block;
margin-left: auto;
margin-right: auto;}

說明:水平置中要滿足下列三項條件才能成功

  1. display:block;
  2. 要有寬度值設定
  3. margin水平方向 auto

顯示成果:

vocus|新世代的創作平台

Product Card往下設定 :style.css

.product {
margin-top: 128px;}

顯示成果:

vocus|新世代的創作平台

Product Card內容和照片設定 :style.css

.product .info {
display: inline-block;
vertical-align: top;
width: 50%;
padding: 64px 56px;
background-color: #f9f9f9;
height: 100%;
}

.product .image {
display: inline-block;
vertical-align: top;
width: 50%;
height: 100%;
}

顯示成果:

vocus|新世代的創作平台

Product Card照片設定 :index.htm

<div class="info">
<h1 class="name">Cup'o John</h1>
<h2 class="price">$2.5</h2>
<p class="des">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Eius impedit omnis nam sed repellendus
ducimus?</p>
<a href="#" class="btn">ORDER</a>
</div
//解決4px間隔
><div class="image"></div>
</div>
<div class="image"><img src="./images/rose_coffee.png" alt="">
</div>

顯示成果:

vocus|新世代的創作平台

解決照片超出範圍 :style.css

.product .image {
/* 解決圖片超出的部分 */
overflow: hidden;
}

顯示成果:

vocus|新世代的創作平台

調整照片大小 :style.css

.product .image img{
height: 100%;
display: block;
}

顯示成果:

vocus|新世代的創作平台

處理文字部分 :style.css

/* 調整文字內容 */
.product .name{
font-size: 100px;
font-weight: 300;
color: #444;
white-space: nowrap;
margin-bottom: 16px;
text-shadow: 0 48px 10px rgba(0, 0, 0, 0.05);
}

顯示成果:

vocus|新世代的創作平台

處理價錢部分 :style.css

/* 調整價錢 */
.product .price{
font-size: 48px;
font-weight: 300;
color: #EA4C73;
margin-bottom: 16px;
}

顯示成果:

vocus|新世代的創作平台

處理說明部分 :style.css

.product .des{
font-size: 16px;
line-height: 24px;
color: #666;
margin-bottom: 16px;
}

顯示成果:

vocus|新世代的創作平台

處理定位元素與層級設定 :style.css

.product .name{
/* 定位元素與層級設定 */
position: relative;
z-index: 10;
}

顯示成果:

vocus|新世代的創作平台

處理按鈕設定 :style.css

.product .btn {
display: inline-block;
/* way1 */
padding: 12px 40px;
line-height: 24px;
/* wqy2 */
/* text-align: center */
/* width:width: 200px; */
text-decoration: none;
font-size: 24px;
letter-spacing: 8px;
color: white;
box-shadow: 0 8px 40px 0 rgba(0,0,0,0.5);
background-color: #EA4C73;
}

顯示成果:

vocus|新世代的創作平台

解決margin塌陷的問題 :style.css

vocus|新世代的創作平台
/* 背景容器設定 */
.wrapper {
overflow: hidden;
}

顯示成果:

vocus|新世代的創作平台

設定卡片圓角 :style.css

/* 卡片圓角設定 */
padding: 16px;
border-radius: 4px;

顯示成果:

vocus|新世代的創作平台

使用漸層產生器 :style.css

網址:https://cssgradient.io/

vocus|新世代的創作平台
.product .btn {
background: -webkit-linear-gradient
(45deg, rgba(250, 195, 209, 1) 0%,
rgba(250, 105, 146, 1) 38%, rgba(230, 120, 149, 1) 39%,
rgba(234, 76, 116, 1) 57%,
rgba(234, 76, 116, 1) 72%, rgba(250, 195, 209, 1) 100%);
}

顯示成果:

vocus|新世代的創作平台




留言
avatar-img
奧莉薇走在成為後端工程師之路上
28會員
171內容數
全端網頁開發專業知識分享
2025/07/23
※ 卡片式設計: 好處:採用卡片式設計能有效簡化使用者介面,提升視覺層次感,讓使用者在瀏覽時更能聚焦於核心資訊,如文字與圖片。 排版範例: 瀑布流排版範例: ※ thumbnail: ※ 常見的商品卡片: ※ 切版起手式:
Thumbnail
2025/07/23
※ 卡片式設計: 好處:採用卡片式設計能有效簡化使用者介面,提升視覺層次感,讓使用者在瀏覽時更能聚焦於核心資訊,如文字與圖片。 排版範例: 瀑布流排版範例: ※ thumbnail: ※ 常見的商品卡片: ※ 切版起手式:
Thumbnail
2025/07/22
※ 網頁開發前必做的初始化: 目的: 統一不同瀏覽器的預設樣式。 建立一致的視覺基底。 減少意外排版問題。 ※ 初始化有兩種: ※ reset.css操作: 網址:https://meyerweb.com/eric/tools/css/reset/ 複製內容: 專案內容開啟新的檔案
Thumbnail
2025/07/22
※ 網頁開發前必做的初始化: 目的: 統一不同瀏覽器的預設樣式。 建立一致的視覺基底。 減少意外排版問題。 ※ 初始化有兩種: ※ reset.css操作: 網址:https://meyerweb.com/eric/tools/css/reset/ 複製內容: 專案內容開啟新的檔案
Thumbnail
2025/07/22
※ Display介紹: 說明:展示的屬性的意思,就是來決定元素在瀏覽器中如何呈現的方式。 ※ Display展示屬性: 有以下幾種設定: block:在預設的情況下,div和paragraph的標籤預設的display都是block。 inline-block:讓元素可以排在同一個行內的
Thumbnail
2025/07/22
※ Display介紹: 說明:展示的屬性的意思,就是來決定元素在瀏覽器中如何呈現的方式。 ※ Display展示屬性: 有以下幾種設定: block:在預設的情況下,div和paragraph的標籤預設的display都是block。 inline-block:讓元素可以排在同一個行內的
Thumbnail
看更多
你可能也想看
Thumbnail
Ae 小技巧:如何製作網格 動態後記系列會記錄一些我在製作中的記錄,可能是分解動畫、小技巧、發想、腳本......等等。 每篇都是小短篇,就是補充用的小筆記,沒有前後順序,可跳著閱讀。
Thumbnail
Ae 小技巧:如何製作網格 動態後記系列會記錄一些我在製作中的記錄,可能是分解動畫、小技巧、發想、腳本......等等。 每篇都是小短篇,就是補充用的小筆記,沒有前後順序,可跳著閱讀。
Thumbnail
不論是平面設計、介面設計,都能見排版這一詞。而排版的作用,即在明確的設計目標中,將所有元素做有組織的安排,精確地傳達訊息。
Thumbnail
不論是平面設計、介面設計,都能見排版這一詞。而排版的作用,即在明確的設計目標中,將所有元素做有組織的安排,精確地傳達訊息。
Thumbnail
CSS 盒模型是理解和設計網頁佈局的核心概念。它包括元素的內容、填充、邊框和外邊距。
Thumbnail
CSS 盒模型是理解和設計網頁佈局的核心概念。它包括元素的內容、填充、邊框和外邊距。
Thumbnail
在這一章節中,我們介紹了 Flexbox 這個 CSS 模型及其用法,重點講解了 Flex 容器和項目的各種屬性。通過具體的示例,展示了如何使用 Flexbox 進行一維佈局設計,並且通過實踐案例,展示了多行 Flex 項目和不同對齊方式的應用。
Thumbnail
在這一章節中,我們介紹了 Flexbox 這個 CSS 模型及其用法,重點講解了 Flex 容器和項目的各種屬性。通過具體的示例,展示了如何使用 Flexbox 進行一維佈局設計,並且通過實踐案例,展示了多行 Flex 項目和不同對齊方式的應用。
Thumbnail
報價書需要具備的內容有哪些呢?關於設計報價書製作的二三事在這裡!
Thumbnail
報價書需要具備的內容有哪些呢?關於設計報價書製作的二三事在這裡!
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
利用文字紀錄,明確寫下自己的採購項目......
Thumbnail
利用文字紀錄,明確寫下自己的採購項目......
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News