第一步:確定 HTML 代碼結(jié)構(gòu)
在創(chuàng)建 HTML 代碼前,你首先應(yīng)該想象它的結(jié)構(gòu)。當(dāng)你有一個好的模型時,應(yīng)該第一時間把你想象的頁面結(jié)構(gòu)或者你的 CSS 模塊及時地在紙上羅列出來。一個設(shè)計合理、結(jié)構(gòu)良好的 HTML 頁面會讓你在接下來的工作過程中變的一異常輕松。
<a id="case-title" href=" http://www.loveo.cc/using-css-to-make-cards-ui.html"> 利用css制作卡片UI -- 墨丶水瓶 </a> <div class="card"> <a href="#."> <div class="card-image"> <img src="http://www.loveo.cc/wp-content/uploads/2017/02/card-image.jpg" alt="Orange" /> </div> <div class="card-body"> <div class="card-date"> <time> 20 Novembre 1992 </time> </div> <div class="card-title"> <h3> Lorem Ipsum </h3> </div> <div class="card-exceprt"> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquam voluptatibus autem consectetur voluptate facere at, omnis ab optio placeat officiis! Animi modi harum enim quia veniam consectetur unde autem inventore. </p> </div> </div> </a> </div>
第二步:定義 Css 規(guī)則
一旦確立了 Html 結(jié)構(gòu),接下來我們將開始為它編寫 Css 樣式。我將在下面分別貼出每一部分的 Css 代碼。
.card
.card { width:400px; margin:0px auto; background-color:white; box-shadow:0px 5px 20px #999; } .card a { color:#333; text-decoration:none; } .card:hover .card-image img { width:160%; filter:grayscale(0); }
將 .card 設(shè)置為固定大小。
居中方式為 margin:0px auto;
為了在稍暗的背景中便于區(qū)分,將塊元素設(shè)置為白色。
增加了一個小陰影產(chǎn)生疊加效應(yīng)。
定義元素 a 標(biāo)簽的顏色與下劃線修飾。
定義鼠標(biāo)移上時放大元素并將濾鏡灰度設(shè)置為“0”。
.card-image
.card-image { height:250px; position:relative; overflow:hidden; } .card-image img { width:150%; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); filter:grayscale(1); transition-property:filter width; transition-duration:.3s; transition-timing-function:ease; }
固定塊元素的大小,其中包含我們的圖片,這使我們能夠在滿足尺寸要求的情況下,任何圖片都可用于制作成卡片。
設(shè)置相對的定位方式,因為它里面包含了絕對定位的元素。
定義內(nèi)容溢出元素框時裁剪并隱藏。
我們可以根據(jù)需要在固定大小的100%基礎(chǔ)上增加圖像的默認(rèn)大小,但是不要添加小于400px的圖像,也不要忘記遵守其寬度/高度比,以免出現(xiàn)空白。
為了將圖像在父元素中完全顯示及將 .card-image 的中心作為起點 ,我們需要同時設(shè)置定位方式為 absolute 。top 、left 為50% , 然后能過 transform:translate(-50%, -50%) 設(shè)置位移,使 .card-image
的中心點作為起點 。
定義元素為 100% 灰度。
使元素在鼠標(biāo)移上時在300毫秒內(nèi)慢速開始,然后變快,然后慢速結(jié)束的過渡方式放大。
.card-body
.card-body { text-align:center; padding: 15px 20px; box-sizing: border-box; }
定義 .card-bady 元素的文本對齊方式為居中對齊。
設(shè)置元素的內(nèi)邊距。
元素 box-sizing 屬性值為 border-box。
字體及其他
.card-date { font-family: 'Source Sans Pro', sans-serif; } .card-title, .card-excerpt { font-family: 'Playfair Display', serif; } .card-date, .card-title { text-align:center; text-transform:uppercase; font-weight: bold; } .card-date, .card-excerpt { color: #777; }
推薦教程:《CSS教程》
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com