日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

CSS實例:翻轉(zhuǎn)圖片、滾動圖片欄、打開大門

 前端技術(shù)分享 2019-04-03

CSS 翻轉(zhuǎn)圖片主要用到的技術(shù)除了3D翻轉(zhuǎn)和定位 ,還用到了一個屬性 backface-visibility:visable|hidden;該屬性主要是用來設(shè)定元素背面是否可見。

效果圖如下:

具體的步驟如下:

1、寫出頁面主體,

<div>
        <img src="Images/b.jpg" alt="">
        <img src="Images/c.jpg" alt="">
    </div>

2、通過定位使兩張圖片疊加在一起

div img {
            width: 250px;
            height: 170px;
            position: absolute;
            top: 0;
            left: 0;
            transition: all 1s;
        }

3、設(shè)置第一張圖片背面不可見

div img:first-child {
            z-index: 1;
            backface-visibility: hidden;
        }

4、添加旋轉(zhuǎn)180度

div:hover img {
            transform: rotateY(180deg);
        }

完整代碼:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        /* backface-visibility */
        
        div {
            width: 250px;
            height: 170px;
            margin: 100px auto;
            position: relative;
        }
        
        div img {
            width: 250px;
            height: 170px;
            position: absolute;
            top: 0;
            left: 0;
            transition: all 1s;
        }
        
        div img:first-child {
            z-index: 1;
            backface-visibility: hidden;
        }
        
        div:hover img {
            transform: rotateY(180deg);
        }
    </style>
</head>

<body>
    <div>
        <img src="Images/b.jpg" alt="">
        <img src="Images/c.jpg" alt="">
    </div>
</body>

</html>

更多項目實戰(zhàn)視頻,免費分享,加入我的前端學習q\u\n\:731771211

CSS 滾動的圖片欄

網(wǎng)站上可以經(jīng)??吹接幸恍﹫D片進行持續(xù)不斷的滾動,這個效果可以通過css的動畫效果來實現(xiàn)。

主要原理是通過動畫向左移動。

首先給出兩組一樣的圖片(同一行上),讓整體圖片向左移動一組圖片的長度,

這樣在動畫結(jié)束時會迅速還原到原來位置,而此時正好與第二組圖片交替,看起來就像是一組圖片在不斷循環(huán)向左滾動。

具體步驟如下:

1、設(shè)置主體代碼各處兩組一樣的圖片

<nav>
        <ul>
            <li><img src="Images/1 (2).jpg" alt=""></li>
            <li><img src="Images/2 (2).jpg" alt=""></li>
            <li><img src="Images/3 (2).jpg" alt=""></li>
            <li><img src="Images/1 (2).jpg" alt=""></li>
            <li><img src="Images/2 (2).jpg" alt=""></li>
            <li><img src="Images/3 (2).jpg" alt=""></li>
        </ul>
    </nav>

2、設(shè)置nav的大小,寬度為一組圖片相加的寬度,高度為圖片的高度。

 nav {
            width: 750px;
            height: 170px;
            border: 1px solid red;
            margin: 100px auto;
}

3、設(shè)置ul大小,寬度為nav的兩倍,高度與nav相同,并指定動畫相關(guān)屬性

ul {
            width: 200%;
            height: 100%;
            animation: picmove 5s linear infinite forwards;
        }

4、定義動畫,主要是向左移動一組圖片的長度

 @keyframes picmove {
            from {
                transform: translate(0);
            }
            to {
                transform: translate(-750px);
            }
        }

5、增加鼠標懸停,動畫暫停的效果

ul:hover {
            animation-play-state: paused;
        }

6、最后給nav 增加 overflow:hidden 使得超出的部分隱藏,這樣整體一組滾動的圖片欄就做好了

完整代碼如下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        ul {
            list-style: none;
        }
        
        nav {
            width: 750px;
            height: 170px;
            border: 1px solid red;
            margin: 100px auto;
            overflow: hidden;
        }
        
        ul {
            width: 200%;
            height: 100%;
            animation: picmove 5s linear infinite forwards;
        }
        
        @keyframes picmove {
            from {
                transform: translate(0);
            }
            to {
                transform: translate(-750px);
            }
        }
        
        img {
            width: 250px;
            height: 170px;
            float: left;
        }
        
        ul:hover {
            animation-play-state: paused;
        }
    </style>
</head>

<body>
    <nav>
        <ul>
            <li><img src="Images/1 (2).jpg" alt=""></li>
            <li><img src="Images/2 (2).jpg" alt=""></li>
            <li><img src="Images/3 (2).jpg" alt=""></li>
            <li><img src="Images/1 (2).jpg" alt=""></li>
            <li><img src="Images/2 (2).jpg" alt=""></li>
            <li><img src="Images/3 (2).jpg" alt=""></li>
        </ul>
    </nav>
</body>

</html>

CSS 打開大門

主要運用到了3D旋轉(zhuǎn)和定位技術(shù)。

效果如下:

具體步驟如下:

1、首先在頁面主體加三個很簡單的div標簽:

 <div class="door">
        <div class="door-l"></div>
        <div class="door-r"></div>
    </div>

2、給外層盒子(.door) 加上基本的屬性、背景、視距以及相對定位(子盒子要用到絕對定位,所以父盒子最好 加上相對定位)。

.door {
            width: 450px;
            height: 450px;
            border: 1px solid #000000;
            margin: 100px auto;
            background: url(Images/men.png) no-repeat;
            background-size: 100% 100%;
            position: relative;
            perspective: 1000px;
        }

3、給左右的門設(shè)置相關(guān)屬性,這里給出左盒子的 相關(guān)屬性。右盒子只需將定位改為右邊距離為0,以及將旋轉(zhuǎn)軸改為右側(cè)即可。

.door-l {
            width: 50%;
            height: 100%;
            background-color: brown;
            position: absolute;
            top: 0;
            transition: all 0.5s;
            left: 0;
            border-right: 1px solid #000000;
            transform-origin: left;
        }

4、添加門上的 小圓環(huán),在這里是使用偽元素 before 進行添加的。

(1)、設(shè)置大小與邊框

(2)、設(shè)置border-radius 為50% 讓其變成圓形。

(3)、設(shè)置定位 垂直居中并靠里面有一定距離。

.door-l::before {
            content: "";
            border: 1px solid #000000;
            width: 20px;
            height: 20px;
            position: absolute;
            top: 50%;
            border-radius: 50%;
            transform: translateY(-50%);
            right: 5px;
        }

5、最后設(shè)置旋轉(zhuǎn)度數(shù),我這里是設(shè)置了120度(注意度數(shù)的正負代表旋轉(zhuǎn)方向)

.door:hover .door-l {
            transform: rotateY(-120deg);
        }

完整代碼如下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        .door {
            width: 450px;
            height: 450px;
            border: 1px solid #000000;
            margin: 100px auto;
            background: url(Images/men.png) no-repeat;
            background-size: 100% 100%;
            position: relative;
            perspective: 1000px;
        }
        
        .door-l,
        .door-r {
            width: 50%;
            height: 100%;
            background-color: brown;
            position: absolute;
            top: 0;
            transition: all 0.5s;
        }
        
        .door-l {
            left: 0;
            border-right: 1px solid #000000;
            transform-origin: left;
        }
        
        .door-r {
            right: 0;
            border-left: 1px solid #000000;
            transform-origin: right;
        }
        
        .door-l::before,
        .door-r::before {
            content: "";
            border: 1px solid #000000;
            width: 20px;
            height: 20px;
            position: absolute;
            top: 50%;
            border-radius: 50%;
            transform: translateY(-50%);
        }
        
        .door-l::before {
            right: 5px;
        }
        
        .door-r::before {
            left: 5px;
        }
        
        .door:hover .door-l {
            transform: rotateY(-120deg);
        }
        
        .door:hover .door-r {
            transform: rotateY(120deg);
        }
    </style>
</head>

<body>
    <div class="door">
        <div class="door-l"></div>
        <div class="door-r"></div>
    </div>
</body>

</html>

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多