2012-06-18 7 views
31

Ich habe aus diesem post gelernt, dass immer <a> Tags oder <button> Tags verwenden, um Knopf zu machen. Jetzt versuche ich <a> Tag zu verwenden. Meine Frage ist: Gibt es eine Möglichkeit, den klickbaren Bereich des Tags zu erhöhen? Angenommen, ich verwende <a> in einer Div-Box. Ich möchte, dass die ganze Div-Box zu einem Button wird. Kann ich den Klickbereich in die ganze Div-Box ändern? Danke für Ihre Hilfe.Wie kann der anklickbare Bereich eines <a> Tag-Buttons vergrößert werden?

Antwort

34

Verwenden <a /> wenn Sie einen Link benötigen (die ein von Anker). Verwenden Sie <button />, wenn Sie eine Schaltfläche benötigen. Wenn Sie wirklich eine <a /> erweitern möchten, fügen Sie das CSS-Attribut display: block; darauf hinzu. Sie können dann eine Breite und/oder eine Höhe angeben (d. H. Als wäre es eine <div />).

+0

Dies funktioniert perfekt, und Ihre Antwort kam in Lichtgeschwindigkeit. Dein Stein! Ich danke dir sehr. –

+0

Wenn Sie sich Gedanken über Semantik machen, scheint die Antwort von t1m0thy die richtige Wahl zu sein. Siehe: https://davidwalsh.name/html5-buttons – aldemarcalazans

8

Wenn Sie mit HTML 5, das heißt der Doctype

<!doctype html> 

dann können Sie nur block-level links verwenden.

<a href="google.com"> 
    <div class="hello"> 
    .. 
    </div> 
</a> 
14

Ja, Sie können, wenn Sie mit HTML5, dieser Code ist gültig nicht anders:

<a href="#foo"><div>.......</div></a> 

Wenn Sie nicht HTML5 verwenden, können Sie Ihren Link block machen:

CSS:

#link { 
    display : block; 
    width:100px; 
    height:40px; 
} 

Beachten Sie, dass Sie width anwenden können, height nur nach Ihrem Link Block-Element zu machen.

+0

Dieser Code hat nichts mit HTML5 zu tun. Die 'display' -Eigenschaft existiert in CSS lange bevor die HTML5-Spezifikation überhaupt gestartet wurde. – poncha

+0

@ponacha: Entschuldigung falsch ursprünglich Markup, sagte darüber: '

' zB 'div' innerhalb' a' ist gültig in html5. – Sarfraz

+1

Jetzt sieht es besser aus;) + 1'd dies als das bietet beide Lösungen – poncha

8

Machen Sie einfach den Anker display: block und width/height: 100%. ZB:

.button a { 
    display: block; 
    width: 100%; 
    height: 100%; 
} 

jsFiddle: http://jsfiddle.net/4mHTa/

+0

genau das, was ich brauche, danke –

51

Um den Bereich einer Textverknüpfung zu vergrößern, können Sie das folgende css verwenden;

a {  
display: inline-block;  
position: relative;  
z-index: 1;  
padding: 2em;  
margin: -2em; 
} 

Die Polsterung erhöht die Fläche, die angeklickt werden können, der negativer Randtext den Fluss des umgebenden hält, wie es (Vorsicht über Läppen Links) sein sollte. Anzeige: Inline-Block ist erforderlich, damit Ränder und Abstände gesetzt werden können und die Position relativ sein muss, damit z-index verwendet werden kann, um den anklickbaren Bereich über jedem nachfolgenden Text zu halten.

+0

funktioniert perfekt in meinem Fall. –

+1

Dies ist die echte Antwort auf * wie anklickbare Fläche eines Tags Schaltfläche * – StefansArya

+0

so clever in der Tat zu erhöhen! –

6

Fügen Sie padding zur CSS-Klasse des Anchor-Tags hinzu. Fügen Sie bei Bedarf padding-top, padding-bottom, ... individuell hinzu, je nach dem anklickbaren Bereich, den Sie möchten. Es hat für mich funktioniert.

Verwandte Themen