2

画像のリストを水平ナビゲーション バーとして機能させようとしています。残念ながら、画像を並べて配置することはできません。ネストされた画像、リンク、リスト項目、および順序付けられていないリストのそれぞれから、パディング、マージン、および境界線を削除しようとしました。

HTMLコードはシンプル

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Simple Menu App</title>
    <link type="text/css" rel="stylesheet" href="css/menu.css" />
</head>
<body>
    <div id="page-1">content</div>
    <div id="footer">
        <ul>
            <li><a href="#"><img src="img/zone.png" alt="toggle zones"></a></li>
            <li><a href="#"><img src="img/nr.png" alt="toggle nr services"></a></li>
            <li><a href="#"><img src="img/wheel.png" alt="toggle wheelchair access"></a></li>
            <li><a href="#"><img src="img/cycle.png" alt="toggle cycle access"></a></li>
        </ul>
    </div>
</body>
</html>

cssコードは次のとおりです

body {
    margin: 0;
}

#footer {
    width: 100%;
    position: absolute;
    bottom: 0;
    text-align: center;
}

ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

li {
    width: 40px;
    height: 40px;
    display: inline-block;
    overflow: hidden;
    cursor: pointer;
    margin: 0;
}

li a {
    display: block;
}

li a img {
    border-radius: 0.2em;
    background: #ccc;
    width: 100%;
    border: none;
}

その他の詳細

画像の自然なサイズは 40px x 40px クロムでチェックする場合

  • 画像のサイズは 40px x 40px です
  • タグのサイズは 40px x 45px ???
  • li タグのサイズが 40px x 40px に戻りました
  • ul と div#footer の高さは両方とも 45??
  • ボタンの灰色の背景の間に空白があります

要約すると、空白を削除し、リスト全体の高さをボタンの高さまで減らして (強制的に 40 ピクセルにせずに)、流動的なレイアウトでも機能するようにします。

4

4 に答える 4

6

<li>これは、要素をinline-blocksとして扱っているためです。これらは基本的にテキスト文字として機能し、流れます。HTML でそれらの間に空白がある場合、空白はページ上でもそれらの横に表示されます。内に設定font-sizeするか、代わりにandを使用して目的の効果を得ることができます。 0<ul>display: blockfloat: left

于 2013-11-08T09:55:14.503 に答える
2

その5pxの下部スペースを取り除くためにvertical-align: top あなた li a imgとあなたに追加 してくださいli

横方向のスペースを取り除くには、font-size<ul>を 0に設定します。

于 2013-11-08T09:53:59.867 に答える
1

CSSfont-sizeで of <ul>をに設定するだけです0

JSFiddle

于 2013-11-08T09:59:03.893 に答える