web基础·书写倒三角(div+伪元素::after)

        倒三角可以看成是div的两条边组成,但是没有直接对div进行操作,因为如果div出来的两条边不会是一个倒三角,倒三角需要做旋转,如果要旋转,那么就会影响到div,所以用伪元素,在div的内部进行变换。

<style>
     div {
            width: 35px;
            height: 35px;
			line-height:35px;
            border-left: 1px solid #000000;
			border-bottom:1px solid #000;
			transform:rotate(-45deg);
         }
</style>

<body>
    <div>三角</div>
</body>

为了避免影响到div内部的变化,我们使用伪元素::after,在::after中做

<style>
        div {
            position: relative;
            width: 200px;
            height: 35px;
			line-height:35px;
            border-left: 1px solid #000000;
			border-bottom:1px solid #000;
        }
        
        div::after {
            content: "";
            position: absolute;
            top: 8px;
            right: 10px;
            width: 10px;
            height: 10px;
            border-right: 1px solid #000000;
            border-bottom: 1px solid #000000;
            transform: rotate(45deg);
            transition: all 0.3s;
            /* 变化快不要忘记加transition过渡来辅助 */
        }
        /* 鼠标经过div,里面的三角旋转 */
        
        div:hover::after {
            /* 鼠标经过div但是让里面的after来进行旋转,所以做好对象的设定 */
            transform: rotate(225deg);
            /* 225=45+180,是因为这个转换是要在刚开始转完45°的基础上再转半圈实现原本向下最终向上的效果 */
        }
</style>

<body>
    <div>三角</div>
</body>

注意:hover中旋转的角度:225度=45度+180度;

        解释:

               45度是旋转成倒三角后的效果,是朝下;180度是在朝下的基础上再转180就是朝上

               如果我们不加45度的话,就是在元素原生的基础上转180度

               出生时是右下角,那在这个基础上转180度就变成了左上角,

               可见它忽视了css中的transform:rotate(45deg)的样式设定,是从原始状态变换的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值