章節(jié) (20) 2D轉(zhuǎn)換模塊

一. 2D轉(zhuǎn)換模塊

2D轉(zhuǎn)換模塊
/*其中deg是單位, 代表多少度*/
 transform: rotate(45deg);
/*
第一個(gè)參數(shù):水平方向
第二個(gè)參數(shù):垂直方向
*/
transform: translate(100px, 0px);
/*
第一個(gè)參數(shù):水平方向
第二個(gè)參數(shù):垂直方向
注意點(diǎn):
如果取值是1, 代表不變
如果取值大于1, 代表需要放大
如果取值小于1, 代表需要縮小
如果水平和垂直縮放都一樣, 那么可以簡(jiǎn)寫為一個(gè)參數(shù)
*/
/*transform: scale(0.5, 0.5);*/
transform: scale(1.5);
/*
注意點(diǎn):
1.如果需要進(jìn)行多個(gè)轉(zhuǎn)換, 那么用空格隔開
2.2D的轉(zhuǎn)換模塊會(huì)修改元素的坐標(biāo)系, 所以旋轉(zhuǎn)之后再平移就不是水平平移的
*/
transform: rotate(45deg) translate(100px, 0px);
2D轉(zhuǎn)換模塊

二. 2D轉(zhuǎn)換模塊-形變中心點(diǎn)

默認(rèn)情況下所有的元素都是以自己的中心點(diǎn)作為參考來旋轉(zhuǎn)的, 我們可以通過形變中心點(diǎn)屬性來修改它的參考點(diǎn)

/*
第一個(gè)參數(shù):水平方向
第二個(gè)參數(shù):垂直方向
注意點(diǎn)
取值有三種形式
具體像素
百分比
特殊關(guān)鍵字
*/
/*transform-origin: 200px 0px;*/
/*transform-origin: 50% 50%;*/
/*transform-origin: 0% 0%;*/
/*transform-origin: center center;*/
transform-origin: left top;
形變中心點(diǎn)

三.透視屬性(perspective: 500px;) 和 旋轉(zhuǎn)軸向 (transform: rotateY(45deg);)

1.perspective: 500px;
1.1什么是透視

近大遠(yuǎn)小

1.2.注意點(diǎn)

一定要注意, 透視屬性必須添加到需要呈現(xiàn)近大遠(yuǎn)小效果的元素的父元素上面

2.transform: rotateY(45deg);

想圍繞哪個(gè)軸旋轉(zhuǎn), 那么只需要在rotate后面加上哪個(gè)軸即可;

代碼示例:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>95-2D轉(zhuǎn)換模塊-旋轉(zhuǎn)軸向</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        ul{
            width: 800px;
            height: 500px;
            margin: 0 auto;
        }
        ul li{
            list-style: none;
            width: 200px;
            height: 200px;
            margin: 0 auto;
            margin-top: 50px;
            border: 1px solid #000;
            /*
            1.什么是透視
            近大遠(yuǎn)小
            2.注意點(diǎn)
            一定要注意, 透視屬性必須添加到需要呈現(xiàn)近大遠(yuǎn)小效果的元素的父元素上面
            */
            perspective: 500px;
        }
        ul li img{
            width: 200px;
            height: 200px;
            /*perspective: 500px;*/
        }
        ul li:nth-child(1){
            /*默認(rèn)情況下所有元素都是圍繞Z軸進(jìn)行旋轉(zhuǎn)*/
            transform: rotateZ(45deg);
        }
        ul li:nth-child(2) img{
            transform: rotateX(45deg);
        }
        ul li:nth-child(3) img{
            /*
            總結(jié):
            想圍繞哪個(gè)軸旋轉(zhuǎn), 那么只需要在rotate后面加上哪個(gè)軸即可
            */
            transform: rotateY(45deg);
        }
    </style>
</head>
<body>
<ul>
    <li>![](images/rotateZ.jpg)</li>
    <li>![](images/rotateX.jpg)</li>
    <li>![](images/rotateY.jpg)</li>
</ul>
</body>
</html>
透視屬性 和 旋轉(zhuǎn)軸向

四. 撲克牌練習(xí)

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>96-2D轉(zhuǎn)換模塊-練習(xí)</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        div{
            width: 310px;
            height: 438px;
            border: 1px solid #000;
            background-color: skyblue;
            margin: 100px auto;
            perspective: 500px;
        }
        div img{
            transform-origin: center bottom;
            transition: transform 1s;
        }
        div:hover img{
            transform: rotateX(80deg);
        }
    </style>
</head>
<body>
<div>
    ![](images/pk.png)
</div>
</body>
</html>
撲克牌

五. 照片墻

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>97-2D轉(zhuǎn)換模塊-相片墻</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        ul{
            height: 400px;
            border: 1px solid #000;
            background-color: skyblue;
            margin-top: 100px;
            text-align: center;
        }
        ul li{
            list-style: none;
            width: 150px;
            height: 200px;
            background-color: red;
            display: inline-block; //轉(zhuǎn)換成行內(nèi)塊級(jí)元素,用于水平排版
            margin-top: 100px;
            transition: all 1s;
            position: relative;
            box-shadow: 0 0 10px;
        }
        ul li:nth-child(1){
            transform: rotate(30deg);
        }
        ul li:nth-child(2){
            transform: rotate(-40deg);
        }
        ul li:nth-child(3){
            transform: rotate(10deg);
        }
        ul li:nth-child(4){
            transform: rotate(45deg);
        }
        ul li img{
            width: 150px;
            height: 200px;
            border: 5px solid #fff;
            box-sizing: border-box;
        }
        ul li:hover{
            /*transform: rotate(0deg);*/
            /*transform: none;*/
            transform: scale(1.5); //之前的旋轉(zhuǎn)被層疊掉, 只執(zhí)行放大
            z-index: 998;  //顯示在最上面
        }
    </style>
</head>
<body>
<ul>
    <li>![](images/1.jpg)</li>
    <li>![](images/2.jpg)</li>
    <li>![](images/3.jpg)</li>
    <li>![](images/4.jpg)</li>
</ul>
</body>
</html>
照片墻

六. 盒子陰影和文字陰影

1.如何給盒子添加陰影

box-shadow: 水平偏移 垂直偏移 模糊度 陰影擴(kuò)展 陰影顏色 內(nèi)外陰影;

2.注意點(diǎn)

2.1盒子的陰影分為內(nèi)外陰影, 默認(rèn)情況下就是外陰影
2.2快速添加陰影只需要編寫三個(gè)參數(shù)即可
box-shadow: 水平偏移 垂直偏移 模糊度;
默認(rèn)情況下陰影的顏色和盒子內(nèi)容的顏色一致

.box1{
            width: 200px;
            height: 200px;
            background-color: red;
            margin: 100px auto;
            text-align: center;
            line-height: 200px;
            /*box-shadow: 10px 10px 10px 10px skyblue;*/
            /*box-shadow: 10px 10px 10px 10px skyblue inset;*/
            box-shadow: 10px 10px 10px;
            color: yellow;
      }
盒子陰影
3.如何給文字添加陰影

text-shadow: 水平偏移 垂直偏移 模糊度 陰影顏色 ;

.box2{
            width: 200px;
            height: 200px;
            margin: 0 auto;
            background-color: pink;
            text-align: center;
            line-height: 200px;
            font-size: 40px;
            /*text-shadow: 10px 10px 10px black;*/
            text-shadow: 10px 10px 10px;
            color: purple;
     }
文字陰影

七. 翻轉(zhuǎn)菜單

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>99-翻轉(zhuǎn)菜單-綜合練習(xí)</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .nav{
            width: 400px;
            height: 40px;
            margin: 0 auto;
            margin-top: 100px;
            background-color: black;
        }
        .nav>li{
            list-style: none;
            float: left;
            width: 120px;
            height: 40px;
            background-color: green;
            margin-left: 10px;
            text-align: center;
            line-height: 40px;
            position: relative;
        }
        .sub{
            /*不顯示元素*/
            /*display: none;*/ //隱藏掉
            width: 120px;
            position: absolute;  //由于下面div中的文字會(huì)擋住菜單中的文字,故通過子絕父相來提高他的優(yōu)先級(jí)
            left: 0;  //設(shè)置定位屬性 一定要設(shè)置left 和top等屬性
            top: 40px;
        }
        .sub li{
            list-style: none;
            background-color: deeppink;
            transform: rotateY(180deg);
            transition: all 1s;  //添加過渡
            /*設(shè)置透明度*/
            opacity: 0;
        }
        /*
        .nav>li:hover .sub{
            display: block;   //如果前面通過display: none;隱藏的話,這個(gè)地方通過設(shè)置 display: block; 顯示出來;  不過例子中通過改變li的透明度實(shí)現(xiàn)的隱藏
        }
        */
        .nav>li:hover .sub li{
            transform: none; //取消形變
            opacity: 1;
        }

        //hover 時(shí)通過延時(shí)依次顯示
        .nav>li:hover .sub li:nth-child(1){
            transition-delay: 0ms;
        }
        .nav>li:hover .sub li:nth-child(2){
            transition-delay: 200ms;
        }
        .nav>li:hover .sub li:nth-child(3){
            transition-delay: 400ms;
        }
        .nav>li:hover .sub li:nth-child(4){
            transition-delay: 600ms;
        }
        .nav>li:hover .sub li:nth-child(5){
            transition-delay: 800ms;
        }

         //默認(rèn)狀態(tài)反過來
        .nav>li .sub li:nth-child(5){
            transition-delay: 0ms;
        }
        .nav>li .sub li:nth-child(4){
            transition-delay: 200ms;
        }
        .nav>li .sub li:nth-child(3){
            transition-delay: 400ms;
        }
        .nav>li .sub li:nth-child(2){
            transition-delay: 600ms;
        }
        .nav>li .sub li:nth-child(1){
            transition-delay: 800ms;
        }
        div{
            width: 400px;
            height: 300px;
            background-color: red;
            margin: 0 auto;
        }
    </style>
</head>
<body>
<ul class="nav">
    <li>一級(jí)菜單
        <ul class="sub">
            <li>二級(jí)菜單</li>
            <li>二級(jí)菜單</li>
            <li>二級(jí)菜單</li>
            <li>二級(jí)菜單</li>
            <li>二級(jí)菜單</li>
        </ul>
    </li>
    <li>一級(jí)菜單
        <ul class="sub">
            <li>二級(jí)菜單</li>
            <li>二級(jí)菜單</li>
            <li>二級(jí)菜單</li>
            <li>二級(jí)菜單</li>
            <li>二級(jí)菜單</li>
        </ul>
    </li>
    <li>一級(jí)菜單
        <ul class="sub">
            <li>二級(jí)菜單</li>
            <li>二級(jí)菜單</li>
            <li>二級(jí)菜單</li>
            <li>二級(jí)菜單</li>
            <li>二級(jí)菜單</li>
        </ul>
    </li>
</ul>
<div>
我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字
我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文
字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是
文字我是文字我是文字我是文字
</div>
</body>
</html>
翻轉(zhuǎn)菜單
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末尸饺,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子疾忍,更是在濱河造成了極大的恐慌饺饭,老刑警劉巖敌呈,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叭爱,死亡現(xiàn)場(chǎng)離奇詭異昆咽,居然都是意外死亡惜犀,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門马昨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來竞帽,“玉大人,你說我怎么就攤上這事鸿捧∫俾ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵匙奴,是天一觀的道長(zhǎng)堆巧。 經(jīng)常有香客問我,道長(zhǎng)泼菌,這世上最難降的妖魔是什么谍肤? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮哗伯,結(jié)果婚禮上荒揣,老公的妹妹穿的比我還像新娘。我一直安慰自己焊刹,他們只是感情好系任,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著虐块,像睡著了一般俩滥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上贺奠,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天霜旧,我揣著相機(jī)與錄音,去河邊找鬼儡率。 笑死颁糟,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的喉悴。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼玖媚,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼箕肃!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起今魔,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤勺像,失蹤者是張志新(化名)和其女友劉穎障贸,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吟宦,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡篮洁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了殃姓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片袁波。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蜗侈,靈堂內(nèi)的尸體忽然破棺而出篷牌,到底是詐尸還是另有隱情,我是刑警寧澤踏幻,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布枷颊,位于F島的核電站,受9級(jí)特大地震影響该面,放射性物質(zhì)發(fā)生泄漏夭苗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一隔缀、第九天 我趴在偏房一處隱蔽的房頂上張望题造。 院中可真熱鬧,春花似錦蚕泽、人聲如沸晌梨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽仔蝌。三九已至,卻和暖如春荒吏,著一層夾襖步出監(jiān)牢的瞬間敛惊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國打工绰更, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留瞧挤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓儡湾,卻偏偏與公主長(zhǎng)得像特恬,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子徐钠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 各種純css圖標(biāo) CSS3可以實(shí)現(xiàn)很多漂亮的圖形癌刽,我收集了32種圖形,在下面列出。直接用CSS3畫出這些圖形显拜,要比...
    劍殘閱讀 9,506評(píng)論 0 8
  • 一衡奥、html5新特性 1.增加了一個(gè)專門用于繪畫的元素canvas 2.增加了用于媒體播放的音頻和視頻元素 3.增...
    空谷悠閱讀 597評(píng)論 0 2
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font远荠,text-align矮固,li...
    love2013閱讀 2,304評(píng)論 0 11
  • 1、垂直對(duì)齊 如果你用CSS譬淳,則你會(huì)有困惑:我該怎么垂直對(duì)齊容器中的元素档址?現(xiàn)在,利用CSS3的Transform瘦赫,...
    kiddings閱讀 3,152評(píng)論 0 11
  • 今天站樁時(shí)感覺腰部放松的動(dòng)作做得更自然了辰晕,整個(gè)過程中身體緊張的部位逐漸都得到了放松,口中過一段就會(huì)充盈著津液确虱,自然...
    欣喜的赤子閱讀 293評(píng)論 0 1