CSS学习记录8/a标签的伪类选择器/弹性效果/手风琴效果

a标签存在一定的状态:
1、默认状态,从未被访问过
2、被访问过
3、鼠标悬停在a标签上的状态
4、鼠标长按

a标签的伪类选择器:专门用来修改a标签不同状态的样式的。
:link修改从未被访问过状态下的样式
:visited修改被访问过的状态下的样式
:hover用来修改鼠标悬停在a标签上的状态的样式
:active专门用来修改鼠标长按状态下的样式

注意点:
1、a标签的伪类选择器可以单独出现也可以一起出现。
2、a标签的伪类选择器如果一起出现,那么有严格的顺序要求。爱恨原则love hate
3、如果默认状态下的样式和被访问过的样式一样,可以缩写。
格式:

a{
   属性: 取值;
}

导航条练习

<style>
        body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,
        form,fieldset,input,textarea,p,blockquote,th,td {
            padding: 0;
            margin: 0;
        }
        ul{
            width: 960px;
            height: 40px;
            background-color: #ffcaf3;
            margin: 100px auto;
        }
        li{
            list-style: none;
            width: 120px;
            height: 40px;
            float: left;
            text-align: center;
            line-height: 40px;
        }
        ul li a{
            width: 120px;
            height: 40px;
            display: inline-block;
        }
        a:link{
            color: white;
            text-decoration: none;
        }
        a:visited{
            color: white;
        }
        a:hover{
            color: red;
            background-color: #cccccc;
        }
        a:active{
            color: yellow;
        }

    </style>
</head>
<body>
<div>
    <ul>
        <li><a href="#">我是导航</a></li>
        <li><a href="#">我是导航</a></li>
        <li><a href="#">我是导航</a></li>
        <li><a href="#">我是导航</a></li>
        <li><a href="#">我是导航</a></li>
        <li><a href="#">我是导航</a></li>
        <li><a href="#">我是导航</a></li>
        <li><a href="#">我是导航</a></li>
    </ul>
</div>
</body>

结果:
导航条
注意点:
在企业开发中编写a标签的伪类选择器最好写在标签选择器的后面。
2、在企业开发中和a标签盒子相关的属性都写在标签选择器中(显示模式 宽度 高度 padding margin)
3、在企业开发中和a标签文字、背景相关的写在伪类选择器中。

:hover这个伪类选择器除了可以用在a标签上,还可以用在其它任何标签上。

过渡三要素:
1、必须要有属性发生变化
2、必须告诉系统哪个属性需要执行过度效果。
3、告诉系统过度效果持续的时长。

注意点:当多个属性需要同时执行过渡效果时,用逗号隔开。
例:

div{
            width: 100px;
            height: 50px;
            background-color: #ffcaf3;
            transition-property: width,background-color;
            transition-duration: 5s,3s;
        }
        div:hover{
            width: 300px;
            background-color: cornflowerblue;
        }

transition-property: 告诉系统哪个属性需要执行过度效果。
transition-duration:告诉系统过度效果持续的时长。
transition-delay:告诉系统延迟多少秒之后才开始过渡动画。
transition-timing-function:告诉系统过渡动画的运动速度。
linear; 匀速
ease; 逐渐慢下来
ease-in; 加速
ease-out;减速
ease-in-out;先加速后减速
webstorm中同时选中多段代码快捷键:shift+alt鼠标选中一段代码,松掉shift,鼠标选中其他段代码。
例:

ul{
            width: 800px;
            height: 500px;
            margin: 0 auto;
            background-color: #ffcaf3;
            border: 1px solid #000;
        }
        li{
            list-style: none;
            width: 100px;
            height: 50px;
            margin-top: 50px;
            background-color: cornflowerblue;
            transition-property: margin-left;
            transition-duration: 10s;
        }
        ul:hover li{
            margin-left: 700px;
        }
        ul li:nth-child(1){
            transition-timing-function: linear;
        }
        ul li:nth-child(2){
            transition-timing-function: ease;
        }
        ul li:nth-child(3){
            transition-timing-function: ease-in;
        }
        ul li:nth-child(4){
            transition-timing-function: ease-out;
        }
        ul li:nth-child(5){
            transition-timing-function: ease-in-out;
        }

结果:
过渡动画
过渡模块连写:
格式:transition: 过渡属性 过渡时长 运动速度 延迟时间;

注意点:
1、当多个属性需要同时执行过渡效果时,用逗号隔开。
例:transition: width 5s ease-in 2s,background-color 5s ease-in 2s;
2、连写的时候可以省略后面的两个参数,因为编写了前面两个参数就满足了过渡的三要素。
3、如果多个属性运动的速度、延迟时间、持续时间都一样,那么可以简写为transition: all 时间。

弹性效果练习:

<style>
        body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,
        form,fieldset,input,textarea,p,blockquote,th,td {
            padding: 0;
            margin: 0;
        }
        div{
            height: 100px;
            background-color: #ffcaf3;
            margin-top: 100px;
            text-align: center;
            line-height: 100px;
        }
        span{
            font-size: 80px;
            color: white;
            transition: margin 5s linear 0s;
        }
        div:hover span{
            margin: 0 20px;
        }
    </style>
</head>
<body>
<div>
    <span>我</span><span>是</span><span>最</span><span>棒</span><span>的</span><span>哈</span><span>哈</span><span>哈</span>
</div>
</body>

结果:
弹性效果

完成过渡效果套路:
1、不要管过渡,先编写基本界面。
2、修改我们认为需要修改的属性。
3、再回去给修改属性的的那个元素添加过渡即可。

手风琴效果:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>手风琴效果</title>
    <style>
        body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,
        form,fieldset,input,textarea,p,blockquote,th,td {
            padding: 0;
            margin: 0;
        }
        ul{
            width: 960px;
            height: 300px;
            margin: 100px auto;
            border: 1px solid #000;
            overflow: hidden;
        }
        li{
            list-style: none;
            width: 160px;
            height: 300px;
            float: left;
            border: 1px solid #000;
            box-sizing: border-box;
            transition: width 1s;
        }
        ul:hover li{
            width: 100px;
        }
        ul li:hover{
            width: 460px;
        }
    </style>
</head>
<body>
<ul>
    <li><img src="images/sucai1.jpg"></li>
    <li><img src="images/sucai2.jpg"></li>
    <li><img src="images/sucai3.jpg"></li>
    <li><img src="images/sucai4.jpg"></li>
    <li><img src="images/sucai5.jpg"></li>
    <li><img src="images/sucai6.jpg"></li>
</ul>
</body>
</html>

结果;
手风琴效果

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小婵婵不怕鬼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值