需求场景
当前端页面需要展示皮肤是否在使用、书籍是否阅读中、文件是否下载完成时,这时最直接的效果就是在盒子(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>
网友评论