第一步:確定 HTML 代碼結構
在創建 HTML 代碼前,你首先應該想象它的結構。當你有一個好的模型時,應該第一時間把你想象的頁面結構或者你的 CSS 模塊及時地在紙上羅列出來。一個設計合理、結構良好的 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 規則
一旦確立了 Html 結構,接下來我們將開始為它編寫 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 設置為固定大小。
居中方式為 margin:0px auto;
為了在稍暗的背景中便于區分,將塊元素設置為白色。
增加了一個小陰影產生疊加效應。
定義元素 a 標簽的顏色與下劃線修飾。
定義鼠標移上時放大元素并將濾鏡灰度設置為“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; }
固定塊元素的大小,其中包含我們的圖片,這使我們能夠在滿足尺寸要求的情況下,任何圖片都可用于制作成卡片。
設置相對的定位方式,因為它里面包含了絕對定位的元素。
定義內容溢出元素框時裁剪并隱藏。
我們可以根據需要在固定大小的100%基礎上增加圖像的默認大小,但是不要添加小于400px的圖像,也不要忘記遵守其寬度/高度比,以免出現空白。
為了將圖像在父元素中完全顯示及將 .card-image 的中心作為起點 ,我們需要同時設置定位方式為 absolute 。top 、left 為50% , 然后能過 transform:translate(-50%, -50%) 設置位移,使 .card-image
的中心點作為起點 。
定義元素為 100% 灰度。
使元素在鼠標移上時在300毫秒內慢速開始,然后變快,然后慢速結束的過渡方式放大。
.card-body
.card-body { text-align:center; padding: 15px 20px; box-sizing: border-box; }
定義 .card-bady 元素的文本對齊方式為居中對齊。
設置元素的內邊距。
元素 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教程》
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com