我正在尝试制作一个圆形按钮(我正在考虑提交按钮或链接到另一个页面),上面有标签/文字,然后当你悬停时它有不同的文字。我已经能够单独找到所有这些内容的教程,但是我无法让它们一起工作。
目前我有:
HTML
<div class='button'>
<a href='activities.php'>
<div class='text'> hello world </div>
<img src="/Images/budapest.jpg">
</a>
</div>
CSS
.button img { /*http://codeitdown.com/css-round-buttons/*/
display: block;
width: 30vmin;
height: 30vmin;
line-height: 50px;
border: 2px;
border-radius: 50%;
color: #000000;
text-align: center;
text-decoration: none;
background: #000000;
font-size: 20px;
font-weight: bold;
z-index: 1;
}
.text{
display: block;
}
.text:hover {
display: none;
z-index: 2;
}
.button input[type=submit].nav {
font-family: 'Optima', sans-serif;
height: auto;
width: auto;
background: #111111;
border-radius: 1vmin;
color: #FFFFFF;
font-size: 2vmin;
z-index: 2;
}
按钮当前是我想要的图像 - 是的,确实会重定向到正确的页面。但是,文本“hello world”始终显示(而不是仅在悬停时),位于图像上方(不在其上方),我可以单击它或按钮重定向我。另外,如何在我悬停时更改文本?
更新
剩下的问题是文本不在按钮/图像中。
我的代码
.button img { /*http://codeitdown.com/css-round-buttons/*/
display: block;
width: 30vmin;
height: 30vmin;
line-height: 50px;
border: 2px;
border-radius: 50%;
color: #000000;
text-align: center;
text-decoration: none;
background: #000000;
font-size: 20px;
font-weight: bold;
z-index: 1;
}
.button .text-after {
display: none;
}
.button:hover .text-after {
display: inline;
}
.button:hover .text-before {
display: none;
}
<div class='button'>
<a href='activities.php'>
<span class="text-before">Before</span>
<span class="text-after">After</span>
<img src="/Images/budapest.jpg">
</a>
</div>
答案 0 :(得分:2)
请勿在{{1}}内使用<div>
(最糟糕的噩梦!在链接内部划分?在内联中阻止?)。
其次使用两个文本容器:
<a>
使用此CSS:
<div class='button'>
<a href='activities.php'>
<span class="text-before">Before</span>
<span class="text-after">After</span>
<img src="/Images/budapest.jpg">
</a>
</div>
更新了代码段
我的代码
.button .text-after {display: none;}
.button:hover .text-after {display: inline;}
.button:hover .text-before {display: none;}
.button img { /*http://codeitdown.com/css-round-buttons/*/
display: block;
width: 30vmin;
height: 30vmin;
line-height: 50px;
border: 2px;
border-radius: 50%;
color: #000000;
text-align: center;
text-decoration: none;
background: #333333;
font-size: 20px;
font-weight: bold;
z-index: 1;
}
.button .text-after {
display: none;
}
.button:hover .text-after {
display: inline;
}
.button:hover .text-before {
display: none;
}
.button a {
text-align: center;
display: block;
width: 89.6875px; /* should be the width of image*/
line-height: 89.6875px;
position: absolute;
z-index: 9;
left: 0;
top: 0;
}
.button {
position: relative;
z-index: 9;
}
.button img {
position: absolute;
left: 0;
top: 0;
z-index: 1;
}
以上就是我所做的,但不幸的是它没有用。我不知道为什么,但我可以给你一个不同的解决方案:
<div class='button'>
<a href='activities.php'>
<span class="text-before">Beforexd</span>
<span class="text-after">After</span>
<img src="/Images/budapest.jpg">
</a>
</div>
.round-img-button {
width: 100px;
height: 100px;
position: relative;
}
.round-img-button a,
.round-img-button img {
position: absolute;
width: 100px;
height: 100px;
left: 0;
top: 0;
z-index: 1;
}
.round-img-button a {
z-index: 2;
color: #fff;
text-decoration: none;
text-align: center;
line-height: 100px;
}
.round-img-button a .after {
display: none;
}
.round-img-button:hover a .after {
display: inline;
}
.round-img-button:hover a .before {
display: none;
}
答案 1 :(得分:0)
请尝试
.button a:hover .text {
display: none;
z-index: 2;
}
答案 2 :(得分:0)
以下是一个示例http://jsfiddle.net/josedvq/Jyjjx/45/
可以回答您的问题。
<div class="round-button"><div class="round-button-circle"><a href="http://example.com" class="round-button">Button!!</a></div></div>