2013-04-29 92 views
0

我有一个奇怪的问题。我做了一个div(代码将在下面提供),我希望整个div(因为它是一个按钮)是一个可点击的链接。我遇到的问题是我的div应该只有200x200,然而这个想法横向延伸整个页面。它应该只是200x200部分的一个链接,但正如我所说的那样,页面的整个水平部分的高度为200,使随机背景图像可点击。我试图设置div来阻止,但没有用。我将如何解决这个问题?我的代码如下。A属性中的Div不起作用?

#button { 
    display: block; 
    background-color: black; 
    opacity: 0.9; 
    width: 200px; 
    height: 200px; 
    margin-top: 100px; 
    margin-left: 100px; 
    -moz-border-radius: 15px; 
    border-radius: 15px; 
} 

<a href="signup.php"><div id="button"></div></a> 

回答

2

使用display: inline-block;。您也可以在没有<div>的情况下执行此操作。

http://jsfiddle.net/SLAfU/

+0

美丽,谢谢。 – Twisterz 2013-04-29 14:31:52

1

你应该这样做以下方式:

#button { 
    display: block; 
    background-color: black; 
    opacity: 0.9; 
    width: 200px; 
    height: 200px; 
    margin-top: 100px; 
    margin-left: 100px; 
    -moz-border-radius: 15px; 
    border-radius: 15px; 
} 

<a href="signup.php" id="button"></a> 

自锚不能包含在HTML 4.01块元素。因此,您可以使锚点成为一个块元素,并且全部都可以工作。

在HTML5锚可以包含块元素,因此设置display: block;display: inline-block;结合<!DOCTYPE html>应该就足够了。

0

充分利用锚标记 “显示:inline-block的”

你需要有一个HTML5的doctype有inide锚标记一个div(块级元素)。

0

在这种情况下,正确的方法是:

<div id="button"><a href="signup.php"></a></div> 

<div id="button" onclick="document.location.href='signup.php'" style="text-decoration:underline"></div> 

阅读W3C规范!你不能把块元素内联!