4

リンク付きのdivがあります。<br>また、CSSで垂直方向の間隔を追加する方法がわからなかったため、タグを使用してそれらを並べています。スタイルルールに下マージンと下パディングを追加しようとしましたが、効果がないようです(なぜですか?)。別のタグを追加<br>してそれらをさらに分離することもできますが、CSSを使用してこれを行うには、私が理解できなかったより良い方法があると想定する必要があります。

<!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>Untitled Document</title>
<style type="text/css">
html, body 
{
    height: 100%;
    margin: 0;
    padding: 0;
    font-weight:normal;
    font-size:12pt;
    font-family: Verdana, Arial, Helvetica, serif, sans-serif;
    background:lime;
}

#linksouter
{
    margin: 0;
    padding: 0;
    border-style:solid;
    border-width:0px;
    position:absolute;
    top: 0px;
    left: 0px;
    width: 80px;
    background: blue;
    text-align:left;
}
#linksinner
{
    margin: 80px 0 0 .5em;
    width:100%;
    background:fuchsia;
    display:inline;
    height:100%;
}
#linksinner a
{
    color:red;
    text-decoration: none;
    background:yellow;
}
</style>
</head>

<body>
<div id="linksouter">
    <div id="linksinner">
    <a href="#">1</a><br />
    <a href="#">1</a><br />
    <a href="#">1</a><br />
    <a href="#">1</a><br />
    <a href="#">1</a><br />
    </div>
</div>

</body>
</html>
4

4 に答える 4

11

垂直マージンとパディングは、divやのようなブロックレベルの要素でのみ機能しますpaはインライン要素であるため、機能しません。

あなたが望むことをするために、あなたはあなたのリンクに次のスタイルを加える必要があります:

display:block;

そうして初めて、上下のマージンとページングが正しく適用されます

編集:このようにすると、<br/>タグを取り除くこともできます

于 2009-07-16T00:18:01.353 に答える
1

垂直方向の間隔を追加するには、次のようにします。

#linksinner
{
    line-height: 150%;
}

<a>マージンはインラインであるため、要素に影響を与えることはありません。別の解決策は、それらを作成することです。

display: block;

つまり、彼らはあなたのマージンを尊重し、あなたはあなたのマージンを必要としないでしょう<br>

于 2009-07-16T00:17:18.327 に答える
0

リンクはデフォルトで「インライン」要素であるため、マージンを定義することはできません。インライン要素にマージンまたは幅のルールを適用することはできません。インライン要素でこれらを適用できるようにするには、ルールに別のプロパティを追加する必要があります。

これを試して:

#linksinner a {
    display: inline-block;
    /* Add your margin or height rules here */
}

私はあなたがやろうとしていることのために、あなたはリストを使うべきだと思います:

<ul id="linksinner">
    <li><a href="#">1</a></li>
    <li><a href="#">1</a></li>
    <li><a href="#">1</a></li>
    <li><a href="#">1</a></li>
    <li><a href="#">1</a></li>
<ul>

次に、マージンまたはパディングルールを<li />タグに適用できます。箇条書きを表示したくない場合は、次のようにします。

#linksinner li { list-style-type: none}
于 2009-07-16T00:20:23.007 に答える
-1

divではなく、アンカータグにパディングまたはマージンを与える必要があります。しかし、実際にはそうしないでください。代わりにこれを行ってください。

<p><a href="#"></a></p>

そして、pにpadding-bottomまたはpadding-topを与えます。

于 2009-07-16T00:21:21.090 に答える