私が取り組んでいる (レスポンシブ) Web サイトのヘッダー/ナビゲーションのコンセプトはありますが、残念ながら、レスポンシブ レイアウトで機能する方法で HTML/CSS で必要なものを実現する方法がわかりません。
これは私が実装したいコンセプトです:
基本的に、ロゴはナビゲーションの左半分と右半分の真ん中に配置し、ヘッダー div と重なる必要があります。
これを試して
http://jsfiddle.net/abbood/9yhHE/
(ロゴ画像を作成したランダム画像に置き換えました)ナビゲーションバーを1色のように表示するには、sと境界線がゼロで間に間隔がないことを確認してください。
html
<div id="imgContainer" />
<table>
<tr>
<th>left header text</th>
<th>right header text</th>
</tr>
<tr>
<td>
<ul>
<li>nav item</li>
<li>nav item</li>
<li>nav item</li>
</ul>
</td>
<td class="right">
<ul>
<li>nav item</li>
<li>nav item</li>
<li>nav item</li>
</ul>
</td>
</tr>
</table>
css
#header {
height: 3em;
min-width: 40em;
}
table {
width: 100%;
min-width: 40em;
}
ul {
list-style:none;
}
ul li {
display: inline-block;
}
table tr th:first-child {
text-align: left;
padding-right:1em;
}
table tr th:nth-child(2) {
text-align: right;
padding-left:1em;
}
table ul {
padding-left: 0;
padding-right:0;
}
table tr:nth-child(2) td:nth-child(1) {
text-align: right;
padding-right: 3em;
}
td.right {
text-align: left;
padding-left: 3em;
}
#imgContainer {
width: 100%;
min-width: 40em;
background-image: url(http://s8.postimage.org/49ywsfsqp/logo.png);
background-position: center;
background-repeat: no-repeat;
}
注:基本構造を作成しました。スタイリングとナビゲーションバーアイテム間の間隔の設定は簡単ですが、基本構造はシャウンドする必要があります。
アップデート では、ロゴを上に表示する必要がありました。(z-index + absポジショニングで行いました)
これが更新されたhttp://jsfiddle.net/abbood/9yhHE/2/です。
html
<div id="imgContainer">
<img src="http://s8.postimage.org/49ywsfsqp/logo.png" />
</div>
<table>
<tr>
<th>left header text</th>
<th>right header text</th>
</tr>
<tr>
<td>
<ul>
<li>nav item</li>
<li>nav item</li>
<li>nav item</li>
</ul>
</td>
<td class="right">
<ul>
<li>nav item</li>
<li>nav item</li>
<li>nav item</li>
</ul>
</td>
</tr>
</table>
css
#header {
height: 3em;
min-width: 40em;
}
table {
width: 100%;
min-width: 40em;
background-color: yellow;
}
ul {
list-style:none;
}
ul li {
display: inline-block;
}
table tr th:first-child {
text-align: left;
padding-right:1em;
}
table tr th:nth-child(2) {
text-align: right;
padding-left:1em;
}
table ul {
padding-left: 0;
padding-right:0;
}
table tr:nth-child(2) td:nth-child(1) {
text-align: right;
padding-right: 3em;
}
td.right {
text-align: left;
padding-left: 3em;
}
#imgContainer {
min-width: 40em;
position: absolute;
width: 100%;
}
#imgContainer > img{
width: 50px;
height: 50px ;
z-index: 1;
display: block;
margin: 0 auto;
}
頭のてっぺんから、これを行うための3つの方法を考えることができます。
既存のサイトを参照することもできます。レスポンシブサイトの優れたライブラリはここにあります:http://mediaqueri.es