CSS进阶学习第一天-字体图标及平移转换

1,字体图标

目标:使用字体图标技巧实现网页中的简洁图标的效果

1.1字体图标展示的是图标,本质还是字体

灵活性:灵活的修改样式

轻量级:体积小,渲染快,降低服务齐请距次数

兼容性:几乎兼容所有浏览器

使用方便:下载字体包;使用字体包。

1.2下载字体之后,使用字体图标
1.引入字体图标样式表
<link rel="stylesheet" href="../../课堂练习0317/iconfont/iconfont.css">
2.引入类名,定义css
<style>
  .icon-gouwuchexuanzhong {
            color: orange;
        }
</style>

......

<span class="iconfont icon-gouwuchexuanzhong"></span>
<span>购物车</span>
<span class="iconfont icon-arrow-down"></span>

2,平面转换

改变盒子的平面内的形态(位移,旋转,缩放)

注意:所有的动态变化在css中一定要给实现动态元素的标签添加过渡属性。(transition:对应属性值 数字+s)

2.1平移
transform:translate(水平位移,垂直位移)
使用transform实现元素位移效果
<style>
        .father {
            width: 500px;
            height: 300px;
            margin: 100px auto;
            border: 1px solid #000;
        }
        
        .son {
            width: 200px;
            height: 100px;
            background-color: pink;
            transition: all 0.5s;
        }
        /* 鼠标移入到父盒子,son改变位置 */
        .father:hover .son {
            transform: translate(100px, 50px);
            transform: translate(-100px, 50px);

            /* 百分比参考自身宽高计算结果 */
            transform: translate(-100%, 50%);
            transform: translate(-100%, 0);

            /* 技巧 */
            /* 水平方向 */
            transform: translate(50px);
            /* Y : 垂直方向 */
            transform: translateY(100px);
            /* X:水平方向 */
            transform: translateX(-50px);   //显示结果:由于css层叠性,最后鼠标移入,粉色子盒子向左移动50px
        }
    </style>
......
<body>
    <div class="father">
        <div class="son"></div>
    </div>
</body>
2.2旋转
1.transform:rotate(角度+deg)
正值角度是顺时针,复制是逆时针。
<style>
        img {
            width: 250px;
            transition: all 2s;
        }
        
        img:hover {
            transform: rotate(360deg);
            transform: rotate(-360deg);
        }
    </style>
......
<body>
    <img src="./images/rotate.png" alt="">
</body>

显示结果:鼠标移入,图片逆时针旋转360度。

2.transform-origin:(方向,上下)也可以是数字+px选点。

选择旋转点位置,转换谁的原点就加在什么标签上

<style>
img {
            width: 250px;
            border: 1px solid #000;
            transition: all 2s;
            
            /* 转换原点位置,默认img的中心 */
            /* 不光能改变选中的原点,还能改变位移和缩放的原点 */
            /* 空间转换改变原点也是用这个属性 */
            transform-origin: right bottom;
        }
        
        img:hover {
            transform: rotate(360deg);
        }
    </style>
</head>
<body>
    <img src="./images/rotate.png" alt="">
</body>
2.3 缩放
trangform:scale(数字)

属性值:1不变;大于1放大;小于1缩小;等于0消失。

<style>
        img {
            width: 250px;
            border: 1px solid #000;
            transition: all 2s;
            
            /* 转换原点位置,默认img的中心 */
            /* 不光能改变选中的原点,还能改变位移和缩放的原点 */
            /* 空间转换改变原点也是用这个属性 */
            transform-origin: right bottom;
        }
        
        img:hover {
            transform: rotate(360deg) scale(0);
        }
    </style>
......
<body>
    <img src="./images/rotate.png" alt="">
</body>

显示结果:图片旋转360度过程中不断缩小直至完成360度旋转,图片大小变为零。

2.4多重转换(transform可以是复合属性)
transform:translate()rotate();(旋转会改变坐标轴向)

那个属性在前就可以引导后面的属性跟着前面的属性走(先位移带着旋转就是直线行驶,先旋转在位移就是放大螺旋)

 <style>
        .box {
            width: 800px;
            height: 200px;
            border: 1px solid #000;
        }
        
        img {
            width: 200px;
            transition: all 8s;
        }
        
        .box:hover img {
            /* 边走边转 */
            transform: translateX(600px)  rotate(720deg) scale(0);

            /* 旋转会改变坐标的轴向 */
            /* transform: rotate(720deg) translate(600px); */

        }
    </style>
......

<body>
    <div class="box">
        <img src="./images/tyre1.png" alt="">
    </div>

transform:缩放,定位会产生属性名层叠性,后面的覆盖前面的属性,需要在每个缩放前面写复合属性的定位。

3,渐变(background-image:linear-gradient(颜色1,颜色2,颜色3)

3.1多个颜色逐渐变化的视觉效果。

background-image:linear-gradient(transparent,rbga(0,0,0,0.5)

transparent 颜色透明

<style>
        .box {
            width: 300px;
            height: 200px;
            background-color: pink;
            /* background-image: linear-gradient(
                pink,
                green,
                orange
            ); */

            /* 透明 到 半透明的渐变 */
            background-image: linear-gradient(
                transparent,
                rgba(0,0,0,0.5)
            );
        }
    </style>
......
<body>
    <div class="box"></div>
</body>

4,案列

没有定位就没有层级

mask一般用于遮罩层。图片上加深文字部分显示颜色(一般用透明渐变)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

知识分子李云龙

生长在森林中必然会成为参天大树

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

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

打赏作者

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

抵扣说明:

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

余额充值