在class='btn'的元素之後加上"<",並在元素被:hover:after之後替換原始內容
P粉236743689
P粉236743689 2023-09-09 12:32:51
0
2
702

在 ':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>
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板