首頁 >web前端 >css教學 >CSS3實現卡片效果

CSS3實現卡片效果

Guanhui
Guanhui轉載
2020-05-01 11:13:114644瀏覽

CSS3實現卡片效果

第一步:確定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: &#39;Source Sans Pro&#39;, sans-serif;
}
.card-title, .card-excerpt {
    font-family: &#39;Playfair Display&#39;, serif;
}
.card-date, .card-title {
    text-align:center;
    text-transform:uppercase;
    font-weight: bold;
}
.card-date, .card-excerpt {
    color: #777;
}

推薦教學:《CSS教學

以上是CSS3實現卡片效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除