html - css3 after 是在元素中的文本上

标签 html css

我的问题是 :after 元素位于元素中的文本上。这是一个例子:

On CodePen

我希望 :after 位于文本下方。

我该如何解决这个问题?

body {
  text-align: center;
}

a {
  display: inline-block;
  text-decoration: none;
  padding: 10px;
  background: #222;
  color: #f3f3f3;
  font-size: 2em;
  margin: 20px auto;
  position: relative;
}

a:after {
  content: "";
  width: 100%;
  height: 50%;
  background: #00A3A3;
  position: absolute;
  left: 0;
  top: 0;
}
<a href="#">Home page</a>

最佳答案

只需将 after 中的 top:0 更改为 top:50px; 即可。通过保持 top:0

top 属性将元素的上边缘设置为其最近定位祖先的上边缘上方/下方一个单位。

您通过将元素保持为 0 使该元素保持在顶部

body {
  text-align: center;
}

a {
  display: inline-block;
  text-decoration: none;
  padding: 10px;
  background: #222;
  color: #f3f3f3;
  font-size: 2em;
  margin: 20px auto;
  position: relative;
}

a:after {
  content: "";
  width: 100%;
  height: 50%;
  background: #00A3A3;
  position: absolute;
  left: 0;
  top: 50px;
}
<a href="#">Home page</a>

关于html - css3 after 是在元素中的文本上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47239168/

相关文章:

javascript - 具有可点击的不规则形状的网格

javascript - 刷新 Html 布局以重新计算滚动条

CSS - 如何调试 Google Chrome 中的事件/选定输入元素

javascript - 有没有办法在使用 AJAX 的父级之前在 div 中加载隐藏的 div?

javascript - 如何在网站加载时显示一次 Javascript 提示?

javascript - 用户重新加载页面后 HTML/JQuery 重定向

html - 使一定宽度的父 div 内的子 div 具有完整的浏览器窗口宽度

javascript - 如何制作 Html5/Javascript Canvas 填充窗口屏幕?

javascript - css 五边形不能正常工作

html - 下拉布局-如何制作 "columns"