div标签加css,DIV右上角标签的CSS3实现技巧

我们在写页面中,经常要用到给一个div或其他dom元素的右上角添加一个标签来表示此条目的状态或者特性,今天我们就探讨一下这个标签的实现方式

c0a803e619c9abb60c4f5c85d04807c7.png

我们一般要实现这种标签的时候通过用css3的rotate来实现,并且大部分人实现时是通过一像素,一像素的调节标签的偏移位置来达到我们满意的效果。这个调像素的过程是让我们抓狂的,因为他没有实用性,我们好不容易写好了一个角签,然而他只能在这个样式或者这个角签内容时是正常的。

9264c65df33a6b3bc4c016795e4a9418.png

上面是我计算的草稿,这个是计算的左上角的角签的偏移计算。

其中用到了translate百分比的特性,他跟margin和padding不同,他的百分比是相对于他本身的宽高进行计算的。所以我们可以做不确定div高度的情况下,通过translateY(-100%)来让他的底部对其容器的顶部。.label{

font-size:13px;

line-height:32px

;background:orange;

position:absolute;

right:0;

top:0;

z-Index:2;

padding:0 2em;

-webkit-transform-origin:left bottom;

-moz-transform-origin:left bottom;

transform-origin:left bottom;

-webkit-transform:translate(29.29%,-100%) rotate(45deg);

-moz-transform:translate(29.29%,-100%) rotate(45deg);

transform:translate(29.29%,-100%) rotate(45deg);

text-indent:0;

}

根据以上的计算草稿,得出右上角角签的transform样式如上代码。

你还可以举一反三,得到其左上角,右下角,左下角的坐标样式的确定值。

如果想要让角签完全覆盖容器的边角,那么就角签的宽度为高度的1/2。

最后我在上一下右下角角签的实现代码.label2{

font-size:13px;

line-height:32px;

background:orange;

position:absolute;

right:0;

bottom:0;

z-Index:2;

padding:0 2em;

-webkit-transform-origin:left top;

-moz-transform-origin:left top;

transform-origin:left top;

-webkit-transform:translate(29.29%,100%) rotate(-45deg);

-moz-transform:translate(29.29%,100%) rotate(-45deg);

transform:translate(29.29%,100%) rotate(-45deg);

text-indent:0;

}

你可以根据此砖来得到你想要的玉。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值