1

こんにちは、これは一般的な問題のようですが、私が見つけた解決策はまだうまくいきません:(

これを見つけましが、この解決策は何らかの理由でうまくいきませんでした。

私のデモリンク: http://leongaban.com/_stack/centering/

トップ ナビゲーションを中央に配置し、ポートフォリオ ナビゲーションも中央に配置しようとしています。

私の JSFiddle: http://jsfiddle.net/8DM65/

助けてください!私を夢中にさせますX_x

HTML

<header>

    <div id="main-nav">
        <ul>
            <li><a href="#content">Portfolio</a></li>
            <li><a href="#footer">Contact Me</a></li>
            <li><a href="#">Resume</a></li>
        </ul>
    </div>

    <div id="logo-title">
        <img src="images/leon_gaban.png" width="256" height="256" class="avatar" />

        <h1>Hello</h1>
        <h2>Web Designer &amp; Developer</h2>
        <h3>And self-improvement blogger</h3>
    </div>

</header>

<section id="content">

    <div class="portfolio-nav">
        <ul>
            <li class="cta">Select Portfolio</li>
            <li class="selected"><a href="#">Design &amp; Development</a></li>
            <li class="not-selected"><a href="#">Flash &amp; Animation</a></li>
        </ul>
    </div>

    <div id="showcase-div">
        <ul id="showcase-boxes">
            <li>Test</li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
    </div>

</section>

CSS

/* 02 Header */
header {
width: 100%;
height: 720px;
margin: 0 auto;
background: #ededed;
border-bottom: 1px solid #ccc;
}

header h1 {
font-size: 2em;
font-weight: 400;
font-style: italic;
}

header h2 {
font-size: 3.125em;
font-weight: 700;
}

header h3 {
font-size: 1.125em;
font-weight: 400;
font-style: italic;
}

#logo-title {
width: 100%;
margin: 60px auto;
text-align: center;
}

.avatar {
width: 256px;
height: 256px;
margin-bottom: 20px;

-webkit-border-radius: 128px;
-moz-border-radius: 128px;
-ms-border-radius: 128px;
-o-border-radius: 128px;
border-radius: 128px;

-webkit-box-shadow: 0 0 0px 6px white, 0 0 0 8px #cccccc, 0 10px 40px #333333;
-moz-box-shadow: 0 0 0px 6px white, 0 0 0 8px #cccccc, 0 10px 40px #333333;
box-shadow: 0 0 0px 6px white, 0 0 0 8px #cccccc, 0 10px 40px #333333;
}

#main-nav {
width: 80%;
height: 100px;
margin: 0 auto;
text-align: center;
font-size: 1.5em;
border-bottom: 2px solid white;
}

#main-nav ul {
clear: left;
float: left;
width: 100%;
list-style: none;
padding: 30px 0;
position:relative;
left:50%;
}

#main-nav ul li {
display:block;
position:relative;
right:50%;
float: left;
padding: 0 20px;
}

/* 03 Content */
#content {
width: 100%;
height: 100%;
margin: 0 auto;
}

#content ul {
list-style: none;
}

.portfolio-nav {
height: 60px;
padding: 30px 0 0 0;
background: #ccc;
}

.portfolio-nav ul {
margin: 0 auto;
text-align: center;
}

.portfolio-nav ul li {
display: inline;
float: left;
padding: 0 20px;
text-align: center;
}

#showcase-div {
width: 80%;
height: 100%;
margin: 0 auto;
background: blue;
padding-bottom: 60px;
}
4

4 に答える 4

2

実際、これらの要素に追加した CSS が多すぎて、間違った方向にコーディングしているように見えます。私はすべてのものを廃棄し、代わりにあなたのposition: relative;ものを構築することに集中します。これにより、幅方向に展開されないが互いに垂直方向のスタックに押し込まれます。liinline-blockli

#main-nav ul li {
    display: inline-block;
    padding: 0 20px;
}

#main-nav ul {
    list-style: none;
    padding: 30px 0;
}
于 2013-02-24T01:47:13.883 に答える
2

フロート、クリア、ディスプレイ、ポジショニングを大量に組み合わせたのはなぜですか? 自分が行っていることを理解するには、多くのコードを削除する必要があります。

たとえば、その最初のナビゲーション。リスト項目をブロック レベルの要素として表示し、フロートしてからクリアし、ページの途中に配置する必要はありません。

それらはリスト項目であり、それらを表示したいと考えていますinline

#main-nav ul {
    width: 100%;
    list-style: none;
    padding: 30px 0;
}

#main-nav ul li {
    display: inline;
    padding: 0 20px;
}

http://jsfiddle.net/8DM65/2/

于 2013-02-24T01:47:33.723 に答える
1

これを次の方法で非常に簡単に機能させることができるようです。

.portfolio-nav{
    text-align: center;
}


.portfolio-nav > ul{
    display: inline-block;
}
于 2013-02-24T01:47:17.847 に答える
0

私が見つけたのは、#main-nav 幅 css を 35% に変更すると修正されましたが、余分な白い区切り線が削除されるため、白い色の hr タグを追加して修正することができました。#portfolio-nav を修正するために、幅を 44% に変更し、margin: 0 auto を追加しました。

于 2013-02-24T01:49:55.160 に答える