我正在尝试学习如何在我的网页上添加下划线动画效果,但我遇到了一个小问题。
这是我用于下划线效果的代码:
.cmn-t-underline {
position: relative;
}
.cmn-t-underline:after {
display: block;
position: absolute;
left: 0;
bottom: -10px;
width: 0;
height: 3px;
background-color: dimgrey;
content: "";
transition: width 0.3s;
}
.cmn-t-underline:hover {
color: #333;
}
.cmn-t-underline:hover:after {
width: 100%;
}
这是我的css上的代码:
<div class="col-sm-6">
<h1 class="text-center text-padding cmn-t-underline">Access Everywhere</h1>
<p class="text-center">Lorem ipsum dolor sit amet</p>
</div>
这就是动画完成后的结果:
我的问题是,如何使下划线仅直接位于H1标题下?我希望下划线开始于&#39; A&#39;并且结束于&#39;但是我很难弄清楚要在代码中添加什么来解决这个问题。如果有人能帮我解决这个小问题,我真的很感激。
提前致谢
答案 0 :(得分:2)
您可以在display-table
上使用h1
来模拟像行为一样的行为,而不是100%的宽度......
body {
text-align: center;
}
h1 {
display: table;
margin: 0 auto;
}
.cmn-t-underline {
position: relative;
}
.cmn-t-underline:after {
display: block;
position: absolute;
left: 0;
bottom: -10px;
width: 0;
height: 3px;
background-color: dimgrey;
content:"";
transition: width 0.3s;
}
.cmn-t-underline:hover {
color: #333;
}
.cmn-t-underline:hover:after {
width: 100%;
}
<div class="col-sm-6">
<h1 class="text-center text-padding cmn-t-underline">Access Everywhere</h1>
<p class="text-center">Lorem ipsum dolor sit amet</p>
</div>
答案 1 :(得分:0)
将h1
的显示更改为inline-block
.cmn-t-underline {
position: relative;
display: inline-block;
}
.cmn-t-underline:after {
display: block;
position: absolute;
left: 0;
bottom: -10px;
width: 0;
height: 3px;
background-color: dimgrey;
content:"";
transition: width 0.3s;
}
.cmn-t-underline:hover {
color: #333;
}
.cmn-t-underline:hover:after {
width: 100%;
}
<div class="col-sm-6">
<h1 class="text-center text-padding cmn-t-underline">Access Everywhere</h1>
<p class="text-center">Lorem ipsum dolor sit amet</p>
</div>