在class='btn'的元素之后添加"<",并在元素被:hover:after之后替换原始内容
P粉236743689
P粉236743689 2023-09-09 12:32:51
0
2
746

在 ':hover' 上的输出始终是

“1IPSUM”

如果我决定添加一个 ':before' 元素,内容为 'content:"1"',它只会添加一个 1,使得在 hover 之前的输出为 "11"

我想要的输出是:

在 'hover' 上的输出为 "IPSUM"

小提琴:https://jsfiddle.net/Zxdfvv/u9xgoks3/

.btn:hover:after {
  padding-bottom: 200px;
  content:"IPSUM";
}
<div class='btn'>1</div>

P粉236743689
P粉236743689

全部回复(2)
P粉275883973

谢谢你,EmSixTeen!我在学校,所以无法登录我的账户。伪元素在不同的浏览器上是否能够正常工作?

P粉715304239

您正在为伪元素设置content:,而不是为元素本身设置。这就是为什么当您向::before添加内容时,它会显示在元素文本之前,然后如果您使用::after,它会显示在元素文本之后。

您可以使用伪元素来设置初始文本。所以您可以这样做:

html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
}

body {
  background-color: #006400;
  display: grid;
  place-items: center;
}

main {
  padding: 1em;
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.btn {
  border: 3px solid black;
  text-align: center;
  border-radius: 20px;
  letter-spacing: 2px;
  padding: 1em 1.5em;
  background-color: #ffd700;
  color: black;
  font-family: monospace;
  display: inline-block;
  margin: 1em;
}

.btn::after {
  display: inline-block;
}

.btn--empty::after {
  content: "";
}

.btn--pseudo::after {
  content: "lorem";
}
.btn:hover::after {
  content: "ipsum";
}
<html>

<body>
  <main>
  
    <a class="btn btn--empty" href="#"></a>

    <a class="btn btn--pseudo" href="#"></a>

  </main>
</body>

</html>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板