先做一個wrap區塊
裡面包三個item區塊
item裡面有圖片和文字
文字另外用一個txt區塊包起來
<div class="wrap">
<div class="item">
<img src="https://picsum.photos/300/300?random=10">
<div class="txt">
<h2>小寶</h2>
<p>
古代人相信將瑪爾濟斯放在身上不舒服的地方可以幫助症狀緩和,因此有療效之意。緋尼基人航行到馬爾他島,他們所帶來的犬種在幾經配種繁衍後,產生了馬爾濟斯種,是最古老的賞玩犬種之一。馬爾濟斯的祖先大約在古羅馬時代就已被引進到歐洲,馬爾濟斯犬並不被當作看家犬,而是王公貴族等上流階級的寵物。</p>
</div>
</div>
<div class="item">
<img src="https://picsum.photos/300/300?random=20">
<div class="txt">
<h2>大寶</h2>
<p>迷你雪納瑞是雪納瑞家族中的小型犬種,於19世紀中後期產於德國。吃苦耐勞、反應機敏、又活力充沛的小型犬。迷你雪納瑞是由標準雪納瑞和許多小型犬,包括貴賓犬 、迷你杜賓犬或是艾芬篤賓犬配種衍生而來。
迷你雪納瑞最讓人熟悉的是他們友善的個性和調皮又充滿活力,他們對主人是非常的忠心並保護。</p>
</div>
</div>
<div class="item">
<img src="https://picsum.photos/300/300?random=30">
<div class="txt">
<h2>二寶</h2>
<p>台灣犬,又稱臺灣土犬、福爾摩莎犬、國寶犬、高沙犬,台灣犬是犬隻品種,屬於馴化動物,臺灣培育之犬科動物(不是原生種動物),最早起源自臺灣高海拔地區原住民飼養的獵犬,是南亞狩獵犬的後代。牠們非常適應台灣崎嶇不平的地形,現在大多作為狩獵犬、護衛犬、特技犬、搜救犬、或者是陪伴犬。</p>
</div>
</div>
</div>
1.CSS Reset&設定wrap區塊和item區塊寬度
*{
margin:0;
padding:0;
list-style: none;
}
.wrap{
width:1200px;
display:flex;
margin: auto;
}
.item{
width:370px; /*盒模型概念 370+15左margin+15右margin=400px*/
margin:15px;
}
.item img{
width:100%;
vertical-align: middle;
}
.item{
width:370px;
margin:15px;
text-align: center;
}
再h2下新增一個底線
p段落新增行距
.item h2{
border-bottom: 1px solid #888;
padding-bottom: .3em;
margin-bottom: .4em;
}
.item p{
line-height: 1.6;
}
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>鐵人賽Day23</title>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;300;500;700;900&display=swap" rel="stylesheet">
<link rel="stylesheet" href="./styles/style.css">
</head>
新增字體設定到css
h2, p新增font-weight
*{
margin:0;
padding:0;
list-style: none;
font-family: 'Noto Sans TC', sans-serif;
}
.item h2{
border-bottom: 1px solid #888;
padding-bottom: .3em;
margin-bottom: .4em;
font-weight: 900;
}
.item p{
line-height: 1.6;
font-weight: 300;
}
html ,body{
height:100%;
}
body{
display: flex;
align-items: center;
background-color: #003;
}
.item{
width:368px; /*盒模型概念 368+15px左margin+15px右margin+1px左border+1px右border=400px*/
margin:15px;
text-align: center;
background-color: #fff;
border: 1px solid #ccc;
}
.item .txt{
padding: 20px;
}
.item .txt::before{
content:'';
width:0;
height:0;
border-top: 50px solid #f00;
border-left: 184px solid #0f0;
border-right: 184px solid #0f0;
}
7.使用絕對定位和相對定位將三角形區塊固定在txt區塊內
在txt區塊設定 position:relative;
.item .txt{
padding: 20px;
position:relative;
}
.item .txt::before{
content:'';
position: absolute;
left:0;
top:0;
width:0;
height:0;
border-top: 50px solid #f00;
border-left: 184px solid #0f0;
border-right: 184px solid #0f0;
}
將border-top顏色改為透明
.item .txt::before{
content:'';
position: absolute;
left:0;
top:0;
width:0;
height:0;
border-top: 50px solid transparent;
border-left: 184px solid #0f0;
border-right: 184px solid #0f0;
}
把border-left和border-right顏色改成白色
.item .txt::before{
content:'';
position: absolute;
left:0;
top:0;
width:0;
height:0;
border-top: 50px solid transparent;
border-left: 184px solid #fff;
border-right: 184px solid #fff;
}
設定transform
將整個三角形區塊往上移
.item .txt::before{
content:'';
position: absolute;
left:0;
top:0;
width:0;
height:0;
border-top: 50px solid transparent;
border-left: 184px solid #fff;
border-right: 184px solid #fff;
transform:translateY(-100%);
}
.item:hover{
transform: translateY(-50px);
}
.item{
width:368px;
margin:15px;
text-align: center;
background-color: #fff;
border: 1px solid #ccc;
transform:translateY(0px);
transition:.5s;
}
.item:hover .txt::before{
border-left: 184px solid #FEB85D;
border-right: 184px solid #FEB85D;
}
10: 設定滑鼠碰到item區塊時,txt區塊的背景顏色和文字顏色和底線會變色的效果
.item h2{
border-bottom: 1px solid #888;
padding-bottom: .3em;
margin-bottom: .4em;
font-weight: 900;
transition:.25s;
}
.item p{
line-height: 1.6;
font-weight: 300;
transition:.25s;
}
.item:hover .txt{
background-image: linear-gradient(0deg, #FB8076, #FEB85D);
}
.item:hover h2{
color:#fff;
border-bottom-color: #fff;
}
.item:hover p{
color:#fff;
}
*{
margin:0;
padding:0;
list-style: none;
font-family: 'Noto Sans TC', sans-serif;
}
html ,body{
height:100%;
}
body{
display: flex;
align-items: center;
background-color: #003;
}
.wrap{
width:1200px;
display:flex;
margin: auto;
}
.item{
width:368px;
margin:15px;
text-align: center;
background-color: #fff;
border: 1px solid #ccc;
transform:translateY(0px);
transition:.5s;
}
.item img{
width:100%;
vertical-align: middle;
}
.item h2{
border-bottom: 1px solid #888;
padding-bottom: .3em;
margin-bottom: .4em;
font-weight: 900;
transition:.25s;
}
.item p{
line-height: 1.6;
font-weight: 300;
transition:.25s;
}
.item .txt{
padding: 20px;
position:relative;
}
.item .txt::before{
content:'';
position: absolute;
left:0;
top:0;
width:0;
height:0;
border-top: 50px solid transparent;
border-left: 184px solid #fff;
border-right: 184px solid #fff;
transform:translateY(-100%);
}
.item:hover .txt::before{
border-left: 184px solid #FEB85D;
border-right: 184px solid #FEB85D;
}
.item:hover{
transform: translateY(-50px);
}
.item:hover .txt{
background-image: linear-gradient(0deg, #FB8076, #FEB85D);
}
.item:hover h2{
color:#fff;
border-bottom-color: #fff;
}
.item:hover p{
color:#fff;
}
以上為個人學習筆記整理
若有錯誤,歡迎指正