2010-08-09 18 views
17

Hier sind zwei Spannen (im wirklichen Leben eine Menge Spannweiten) auf der Webseite. Ich würde gerne den Abstand zwischen ihnen festlegen. Ich möchte das margin-bottom-Attribut dafür verwenden, aber ich sehe keinen Einfluss darauf, es zu verwenden. Die Spannweiten sind immer noch auf der vorherigen Position. Das ist falsch. Hier ist mein Code:Legen Sie den Abstand zwischen den Spannweiten mit Rand fest

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
    <title></title> 
    <style type="text/css"> 
     .position, .name{ 
      overflow: hidden; 
     } 

     .position{ 
      margin-bottom: 40px; 
     } 
    </style> 
</head> 
<body> 
    <span class="position">Designer</span><br/> 
    <span class="name">John Smith</span> 
</body> 
</html> 

Antwort

43

span ist ein Inline-Element, kein Blockelement, und sie nicht respektieren (vertikal) margin. Sie können Padding verwenden oder den Bereich display:inline-block; erstellen und dann Ränder verwenden. Letzteres wird jetzt in den meisten etwas neueren Browsern unterstützt.

+1

Ich stimme nur teilweise mit Ihnen überein, wenn Sie sagen, dass span nicht Marge respektiert. Es respektiert Marge, aber nur links und rechts. Nicht oben und unten. – Devner

+1

Ja, das ist richtig, CSS2.1 [spezifiziert Inline-Elemente, um horizontale Ränder einzuhalten] (http://www.w3.org/TR/CSS21/visuren.html#inline-formatting). Hier war das Problem mit der vertikalen Ausrichtung, so dass der Rand nicht funktioniert. – Pascal

+0

Ich bin gerade in Eile, aber padding-top auf span funktionierte nicht für mich. Ich habe am Ende ein div benutzt. Ach ja. –

0

Ich würde sagen, Linienhöhe ist, was Sie suchen.

Verwandte Themen