文字在hover中垂直水平居中
时间: 2024-01-13 18:10:34 浏览: 103
你可以尝试使用CSS中的flex布局和伪元素来实现文字在hover中垂直水平居中的效果。具体实现步骤如下:
1. 给需要居中的元素添加position属性,并设置display为flex。
2. 为该元素添加伪元素,设置其宽高为100%。
3. 在伪元素中添加display为flex,justify-content和align-items为center,使其内部内容垂直水平居中。
4. 设置伪元素的opacity为0,并在hover状态下将其opacity设置为1,即可实现文字在hover中垂直水平居中的效果。
以下是示例代码:
```
<style>
.center {
position: relative;
display: flex;
justify-content: center;
align-items: center;
width: 200px;
height: 50px;
background-color: #ccc;
}
.center::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: none;
opacity: 0;
}
.center:hover::before {
display: flex;
justify-content: center;
align-items: center;
background-color: rgba(0, 0, 0, 0.5);
opacity: 1;
}
.center:hover::before span {
color: #fff;
}
.center:hover::before span:hover {
text-decoration: underline;
}
.center:hover::before span:hover::after {
content: ' ✔';
}
.center:hover::before span::after {
content: '';
}
.center span {
position: relative;
z-index: 1;
}
</style>
<div class="center">
<span>Hover Me</span>
</div>
```
在这个示例中,当鼠标悬停在中间的"Hover Me"文本上时,会出现一个半透明的黑色层,并且文本会垂直水平居中,同时鼠标移动到文本上时会出现下划线,再次移动则会出现一个勾号。
阅读全文