第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

總結(jié)css偽類的幾種常見(jiàn)操作

標(biāo)簽:
Html/CSS

为了良好的代码高亮阅读体验,建议查看github原文

前言

对于伪类来说,大家都很熟悉,但通常都是用:hover做一些样式的更改和:before:after也是常用在给元素添加一些东西之类。原理上都是这样的,我将在这篇文章中总结一些伪类的使用技巧。

几个小栗子
1. 清除浮动

<div class="wrapper">

    <img class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="./avatar.jpg" class="avatar">

</div>

图片设置了左浮动后,由于包裹元素没有设置高度,会脱离文档流。这时就需要给图片清除浮动。

设置了左浮动

利用:after,使包裹元素中的子元素清除浮动。


.clear:after{

    display:block;

    content:""; 

    height:0;

    clear: both;

    overflow:hidden; 

    visibility:hidden;

}

<div class="wrapper  clear">

    <img class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="./avatar.jpg" class="avatar">

</div>

清除浮动

2. 让元素垂直居中

 <div class="wrapper middle">

    <img class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="./avatar.jpg" class="avatar">

</div>

.wrapper{

    width:300px;

    height:300px;

    background-color: pink;

    text-align: center;

}

.avatar{

    vertical-align: middle;

}

.middle::after{

    display: inline-block;

    width:0; 

    height:100%;

    content:'';

    vertical-align: middle;

}

demo

3. 给盒子添加阴影

demo


.btn:hover{

    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);

}
4. 面包屑导航

demo

:before添加content属性。


<ul class="breadcrumb">

        <li><a href="#">Home</a></li>

        <li><a href="#">Picture</a></li>

        <li><a href="#">pic1</a></li>

</ul>

ul.breadcrumb{

    margin: 500px 500px;

    list-style: none;

}

ul.breadcrumb li{

    display: inline;

}

ul.breadcrumb li+li:before{

    content: '/';

    padding: 10px;

}
5. 对话框小箭头

demo


 <div class="arrow-right">hello!</div>

注意这里要用:before而不是:after


 .arrow-right{

    margin: 500px auto;

    width:300px;

    height:80px;

    background-color: antiquewhite;

    padding-left: 20px;

}

.arrow-right:before{

    background-color: antiquewhite;

    content: "";

    display: block;

    width: 0;

    height: 0;  

    border-top: 10px solid #fff;

    border-bottom: 10px solid #fff;

    border-left: 20px solid antiquewhite;

    position: relative;

    top:14px;

    left: 300px;

}
6. 提示框

demo


 <a href="#" class="tooltip">

    <span>TOOLTIP BOTTOM</span>

    <span class="tooltip-content">这里是提示内容!!</span>

</a>

.tooltip{

    position: relative;

    display: block;

    margin: 0 auto;

    width: 300px;

    height:100px;

    line-height: 100px;

    border:1px solid grey;

    text-align: center;

    vertical-align: middle;

    overflow: hidden;

}

.tooltip:hover{

    overflow: visible;

}

.tooltip-content{

    position: relative;

    z-index: 3;

    display: block;

    width: 300px;

    height:100px;

    background-color: #4fabff;

    color:#fff;

    top:20px;

}

.tooltip-content:before{

    display: inline-block;

    content:"";

    width:0;

    border-left: 10px solid transparent;

    border-right: 10px solid transparent;

    border-bottom:20px solid #4fabff;

    position: relative;

    top:-54px;

    left:40px;

}
7. 自动打字效果

demo

这个代码写的不太严谨,因为每个字的宽度不一样,所以光标不是正正好好在字后面的,有兴趣的同学可以研究下。


.inner{

    height:inherit;

    width: auto;

    position: relative;

    display: block;

}

.inner::after{

    content:'';

    display: block;

    position: absolute;

    top: 0;

    right: 0;

    width:100%;

    margin-top: 30px;

    height: 45%;

    background-color: pink;

    letter-spacing: 1em;

    border-left:2px solid #fff;

    animation: width-animation 0.8s steps(11) infinite alternate; 

}

@keyframes width-animation{

    0% {

        width:100%;

    }

    100%{

        width:260px;

    }

}

<p class="wrapper">

    <span class="inner">hello world</span>

</p>
8. 文章水印

demo


article{

    position: relative;

}

article:after{

    position: absolute;

    content:'2018/8/20';

    display:block;

    width: inherit;

    font-size:100px;

    text-align: center;

    color:rgba(0,0,0,0.1);

    opacity: 0.5;

    top:20px;

    left: 120px;

}
9.图片遮罩

demo


.mask{

    position: absolute;

    width:100px;

    height:100px;

    z-index:2;

    color:#fff;

    line-height: 100px;

    text-align: center;

    transition: all 0.5s;

    opacity: 0;

}

.mask:hover{

    background-color: rgba(0,0,0,0.3);

    opacity: 1;

}

 <div class="wrapper">

    <div class="mask">avatar</div>

    <img class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="./avatar.jpg" alt="" class="avatar"/>

</div>
参考链接
  1. 从青铜到王者10个css3伪类使用技巧和运用,了解一哈

  2. :after伪类+content内容生成经典应用举例

點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消