有没有办法在CSS中执行此操作?为了澄清我只能访问CSS,HTML代码如下所示。所以我不能使用span或链接文本周围的任何其他标签
这
<a href="something.com">example text</a>
要
<a href="something.com">something else</a>
答案 0 :(得分:2)
是的,就像这样:
body {
/* just for demo */
text-align: center;
margin: 1em;
}
a {
visibility: hidden;
font-size: 0;
/* collapse extra space */
}
a::before {
content: "Now I'm This";
visibility: visible;
font-size: 16px;
/* reset font size */
font-weight: bold;
}
<p>Lorem ipsum dolor sit.<a href="something.com">I was This</a>Lorem ipsum dolor sit.</p>
答案 1 :(得分:1)
纯CSS方式是使用伪选择器:before
或:after
和content
属性。
修改:隐藏不包含<span>
/* demo */
a { background:blue; text-align: center; color:#FFF; display:inline-block; padding:1em; }
/* hide original text */
a {
position:relative;
color:transparent;
}
/* new text with psuedo selector */
a:before {
position:absolute;
display:block;
content: "something else";
color:#FFF;
z-index:1;
left:0;
right:0;
font-size:initial;
}
&#13;
<a href="#">something</a>
&#13;
<强>解释强>
使用position: absolute
确保新文本超出原始文本。
答案 2 :(得分:0)
使用CSS更改内容有点古怪
您可以按如下方式使用javascript:
document.getElementById("demo").innerHTML = "Another text"
<a id="demo" href="something.com">example text</a>