CSS实现标签效果

作者: 打酱油12138 | 来源:发表于2019-06-27 11:06 被阅读105次
需求场景

当前端页面需要展示皮肤是否在使用、书籍是否阅读中、文件是否下载完成时,这时最直接的效果就是在盒子(div)左/右上角显示相应标签,不仅美观且实用。

这里以制作图片右上角标签为例,用CSS以最简单、直接的方式实现效果。

实现效果
实现效果
实现思路
  • 准备两个div(一个父容器,一个标签div),分别设置宽高,并设置相对布局。
  • 使标签div居于父容器右上角,设置内容居中显示,设置背景和字体颜色,旋转该div。
  • 将父容器设置overflow: hidden,实现父容器对标签div超出部分的遮挡,即实现了标签效果。
结构展示
结构展示
代码示例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>实现标签效果</title>
<style>
/* 外层div
   设为relative
   设置overflow: hidden实现对超出部分的 遮挡效果
 */
.img-box {
    width: 200px;
    height: 400px;
    margin: 40px;
    overflow: hidden;
    position: relative;
}
/* 外层div
   设为absolute,加以top、right等属性调整标签位置
   设置height、line-height、text-align控制标签内容水平垂直居中
   设置transform,旋转标签45度
 */
.tag {
    width: 140px;
    height: 25px;
    top: 16px;
    right: -40px;
    text-align: center;
    line-height: 25px;
    transform: rotate(45deg);
    position: absolute;
    color: white;
    background: #4188ab;
}
/* 图片展示 设为block */
.img {
    display: block;
    width: 200px;
    height: 400px;
}
</style>
</head>

<body>
<div class="img-box">
    <div class="tag">正在使用</div>
    <img class="img" src="..."/>
</div>

</body>
</html>

相关文章

网友评论

    本文标题:CSS实现标签效果

    本文链接:https://www.haomeiwen.com/subject/xknqcctx.html