Heim  >  Artikel  >  Web-Frontend  >  Dynamischer CSS3-Eingabeaufforderungseffekt, wenn die Maus in das Bild bewegt wird

Dynamischer CSS3-Eingabeaufforderungseffekt, wenn die Maus in das Bild bewegt wird

不言
不言Original
2018-06-25 16:35:482958Durchsuche

In diesem Artikel wird hauptsächlich der dynamische CSS3-Eingabeaufforderungseffekt (Transformation) vorgestellt. Der Inhalt ist ziemlich gut und wird als Referenz dienen.

Dies ist mein erster Versuch, einen Blog zu schreiben. Ich hoffe, Sie können mich korrigieren, wenn ich Fehler oder Irrtümer habe. Heute schreibe ich hauptsächlich über einige Verwendungen von Transformation, einer wichtigen Eigenschaft von CSS3 stammen aus früheren MOOCs. Ich habe es selbst getippt, nachdem ich online einen Kurs von einem bestimmten Lehrer besucht hatte.

1. Einleitung

1.

transformieren bedeutet: verändern, verformen...; transformieren

2. Was sind die gemeinsamen Attribute von transformieren?

Zu den Attributen der Transformation gehören: Translate()/Rotate() / Skew() / Scale() /, und sie sind in x bzw. y unterteilt, wie zum Beispiel: rotatex() und rotatey (), Und so weiter.

transform:translate()

Bedeutung: Änderung, Verschiebung; zum Beispiel 20 Pixel nach rechts verschieben, 50 Pixel nach oben verschieben (negative Werte für links und unten) Beispiele sind wie folgt folgt

.test01{-webkit-transform:translate(20px,50px);-moz-transform:translate(20px,50px)}

transform:rotate()

Bedeutung: Drehung; „Grad“ ist der Grad der Drehung. Zum Beispiel „180 Grad“. bedeutet Drehung um „180 Grad“. Beispiele sind wie folgt

.test02{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg)}

transform:skew()

Bedeutung: Skew Beispiele sind wie folgt

.test03{-webkit-transform:skew(20deg);-moz-transform:skew(20deg)} 

transform:scale()

Bedeutung: Verhältnis 1,8 bedeutet Vergrößerung mit einem Verhältnis von 1,8. Wenn es sich um eine Vergrößerung um ein ganzzahliges Vielfaches handelt, z Bei einer dreifachen Vergrößerung muss es als 3.0 geschrieben werden 🎜>demo01 Beschreibung: Nachdem die Maus hineinbewegt wurde, bewegt sich das Bild nach links und der Inhalt wird nacheinander eingegeben

Schritte:

1 den HTML-Code und legen Sie den ursprünglichen Stil des Inhalts und der Bilder über CSS fest (der Textinhalt befindet sich auf dem Bild);

2. Verschieben Sie den Beschreibungsinhalt über das Transformationsattribut, bis die linke Seite nicht mehr sichtbar ist ( transform:translate(-600px,0);); transform:translate(0,0)) Das Attribut „transition-delay“ wird hier hauptsächlich verwendet, um die drei Inhalte um unterschiedliche Zeiten zu verzögern, um den Effekt einer sequenziellen Eingabe zu erzielen.

.test03{-webkit-transform:scale(2.5);-moz-transform:scale(2.5)}

/*图片左移 文字依次进入*/
.test1{background: #fff;}
.test1 figcaption p{background: #fff;color:#333;margin:5px 0;transform: translate(-600px,0px);}
.test1 figcaption{padding:20px}
.test1:hover figcaption p{transform: translate(0,0);}

.test1 figcaption p:nth-of-type(1){transition-delay: 0.2s;}
.test1 figcaption p:nth-of-type(2){transition-delay: 0.3s;}
.test1 figcaption p:nth-of-type(3){transition-delay: 0.4s;}
.test1:hover img{transform: translate(-5px,0);}

demo02 Beschreibung: Nachdem die Maus hinein bewegt wurde, wird das Bild unscharf und das Rechteck verschwimmt Von außerhalb des Bildes in das angegebene Bild gedreht und nach und nach angezeigt

 

Schritte:

1 und legen Sie den ursprünglichen Stil des Inhalts und der Bilder über CSS fest (der rechteckige Text befindet sich vollständig im Bild);

2. Bewegen Sie das Rechteck über das Transformationsattribut nach oben und legen Sie den Drehwinkel fest auf 0 transformieren: translator(0,-400px) rotate(0deg);

3 0,0) rotieren (360 Grad);

        <!--移动-->
        <figure class="test1">
            <img src="img/altimg05.jpg">
            <figcaption>
                <h2>图片标题</h2>
                <p>这里是图片的相关描述内容</p>
                <p>这里是图片的相关描述内容</p>
                <p>这里是图片的相关描述内容</p>
            </figcaption>
        </figure>

/*旋转*/
.test2{background: #ccc;}
.test2 figcaption{width: 100%;height: 100%;}
.test2 figcaption h2{margin:15% 0 0 15%}
.test2 figcaption p{margin-left:15%;transform: translate(50px,0);opacity: 0;}
.test2 figcaption p{border:2px solid #ccc;width: 80%;height: 80%;position:absolute;top:10%;left:10%;transform: translate(0,-400px) rotate(0deg);}
.test2:hover figcaption p{transform: translate(0,0) rotate(360deg);}
.test2:hover img{opacity: 0.6;}
.test2:hover figcaption p{transform: translate(0,0);opacity: 1;}

demo03 Hinweis: Die verzerrten Wörter werden normal angezeigt nachdem die Maus hineinbewegt wurde (der Text ist optisch nicht sichtbar, da er im Beispiel um 90 Grad gedreht ist)

 

Schritte:

1 HTML-Code und legen Sie den ursprünglichen Stil des Inhalts und der Bilder über CSS fest;

2. Der Textinhalt wird um 90 Grad verzerrt:

3. Als nächstes legen Sie fest Stil, wenn sich die Maus hineinbewegt (:hover), um den Textinhalt um 0 Grad zu verzerren: skew(0); >

demo04 Beschreibung: Nachdem die Maus hinein bewegt wurde, werden das Rechteck und der Text angezeigt und verkleinert, und das Bild wird ebenfalls verkleinert

Schritte:

1. Schreiben Sie den HTML-Code und legen Sie den ursprünglichen Stil des Inhalts und der Bilder fest

2. Vergrößern Sie den Inhalt um das 1,2-fache für die Mausbewegung Der Inhalt wird auf 0 reduziert.

3. Stellen Sie als Nächstes den Stil ein, wenn Sie mit der Maus darüber fahren. Die Vergrößerung des Inhalts wird auf 1 reduziert, was bedeutet, dass die Transparenz verringert wird wird zu 1;

        <!--旋转-->
        <figure class="test2">
            <img src="img/altimg05.jpg">
            <figcaption>
                <h2>图片标题</h2>
                <p>飞来飞去</p>


                <p></p>
            </figcaption>
        </figure>

/*扭曲*/
.test3{background:#CCCCCC;}
.test3 figcaption{position: absolute;left:15%;top:15%}
.test3 figcaption h2{transform: skew(90deg);}
.test3 figcaption p{transform: skew(90deg);}
.test3:hover img{opacity: 0.6;}
.test3:hover figcaption h2{transform: skew(0);}
.test3:hover figcaption p{transform: skew(0);}

demo05 Hinweis: Nachdem die Maus hinein bewegt wurde, wird der Inhalt angezeigt und ein Tic-Tac-Toe Raster

Schritte:

1. Schreiben Sie den HTML-Code und legen Sie den anfänglichen Stil des Inhalts und der Bilder über CSS fest (Tic-Tac-Toe). ist die Überlappung zweier Rechtecke)

2. Verkleinern Sie die beiden Rechtecke um 0,8 und setzen Sie die Transparenz auf 0. Der Inhalt setzt auch die Transparenz auf 0;

3.接下来设置鼠标移入时(:hover)的样式 内容透明度设置为1 设置矩形缩放为1  这里利用到transition属性 主要是为了缩小放大过程逐渐变化;

/*井字格*/
.test5{background: #000;}
.test5 figcaption{width: 100%;height: 100%;}
.test5 figcaption h2{margin: 15% 0 0 18%;opacity: 0;}
.test5 figcaption p{margin-left: 18%;opacity: 0;}
.test5 figcaption p{position: absolute;}
.test5 figcaption p.p01{width: 80%;height:70%;border-top: 2px solid #ccc;border-bottom: 2px solid #ccc;left:10%;top:15%;opacity: 0;transform: scale(0.8);}
.test5 figcaption p.p02{width: 70%;height:80%;border-left: 2px solid #ccc;border-right: 2px solid #ccc;left: 15%;top:10%;opacity: 0;transform: scale(0.8);}
.test5:hover p.p01{opacity: 1;transform: scale(1);transition: transform 0.3s ease-in}
.test5:hover p.p02{opacity: 1;transform: scale(1);transition: transform 0.3s ease-in}
.test5:hover figcaption p{opacity: 1;}
.test5:hover figcaption h2{opacity: 1;}
.test5:hover img{opacity: 0.6;}

        <!--井字格-->
        <figure class="test5">
            <img src="img/altimg05.jpg">
            <figcaption>
                <h2>图片标题</h2>
                <p>这里是图片的相关描述内容</p>
                <p class="p01"></p>
                <p class="p02"></p>
            </figcaption>
        </figure>

以上是几个简单的小例子,之所以用figure和figcaption标签,主要是标签的语义化,截取动态图用到的是GifCam第一次用 挺好用的 很可爱 哈哈。

figure标签主要是用于规定独立的流内容(图片,图表,照片,代码等)而figcaption与figure标签配套使用,主要用于定义figure元素的标题

哦,对了,由于这几个例子写在一个html里面 所以提取出了部分公用的样式

body,figure,figcaption,h2,p{margin:0;padding:0;font-family: "微软雅黑";}
figure{position: relative;overflow: hidden;float: left;width:33.33%;height: 350px;}
figcaption{position: absolute;top: 0;left: 0;color:#fff;}
figure img{width:101%;height: 360px;opacity: 0.8;transition: all 0.35s}
figure figcaption p,h2,span,p{transition: all 0.35s}
@media screen and (max-width: 600px) {
    figure{width: 100%;}
}
@media screen and (min-width:601px) and (max-width: 1000px) {
    figure{width: 50%;}
}
@media screen and (min-width: 1001px) {
    figure{width: 33.33%;}
}

总结:

之所以选择写博客主要是为了锻炼自己的表达能力,培养一个总结知识点的好习惯,以前看别人写的一些好的文章时都很羡慕,自己却总是不知道从何下手,直到最近投简历的时候发现很多公司都要求注明自己的博客地址,所以有必要逼着自己写一下东西啦!

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

使用CSS3来实现滚动视差效果

CSS3 3D旋转rotate效果的使用介绍

Das obige ist der detaillierte Inhalt vonDynamischer CSS3-Eingabeaufforderungseffekt, wenn die Maus in das Bild bewegt wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn