これがあまりにも基本的な質問である場合は申し訳ありませんが、CSS が私を悩ませています。私は、CSS が簡単にできるはずのことをやっていると思いますが、ドキュメントを読んだ方法ではうまくいきません。
これが私の例です。大幅に簡素化されましたが、基本的な問題は残っています。これは私の一部の核となる誤解であると確信しています。それがどこにあるのかわかりません。
目標は次のとおりです。
これが私が今得たものです:
HTMLは次のとおりです。
<div id="line-wrapper">
<div id="block-nice-menus-1">
<ul id="nice-menu-1">
<li><span title="Departments" class="nolink">Departments</span>
</li>
</ul>
</div>
<div id="block-imageblock-40">
<img src="http://www.kallenconsulting.com/home/files/top-menu-swish.png"
alt="" />
</div>
<div id="block-imageblock-42">
<img src="http://www.kallenconsulting.com/home/files/Transparent-4x6.png"
alt="" />
</div>
</div>
CSS は次のとおりです。
/* -- nice-menu-1 is Main Menu -- */
#line-wrapper {
background-color: #ff0000;
}
#block-nice-menus-1 {
position: relative;
float: right;
margin-right: 0px;
height: 40px;
border: none;
background: #d6b982;
}
#nice-menu-1 {
display: block;
padding: 0px 30px;
border-top: none;
border-bottom: none;
color: #000;
background: #d6b982;
line-height: 2.4em;
font-weight: bold;
font-family: Helvetica, Arial, Sans-Serif;
text-transform:uppercase;
text-decoration: none;
}
#nice-menu-1 ul, #nice-menu-1 li {
border-top: none;
border-bottom: none;
border-color: #e11837;
}
#block-imageblock-40 {
/* top-menu-swish */
float: right;
margin: 0px;
}
#block-imageblock-42 {
/* top-menu-leading-line */
bottom: 0px;
height:6px;
width:100%;
background: #d6b982;
}
フロートを正しく取得できません (私は知っています、Yet Another Float Question)。主な問題は、これが可変数の項目を持つメニューになることです。そのため、メニューが大きくなるにつれて (現在は「部門」ですが、後で「部門」、「サービス」、「セクション」など)、左に押して、行の長さを減らします 先頭行 (#block-imageblock-42) に固定長を使用できません。また、メニュー項目には区切りがあるので、全角のものだけではいけません。これは純粋な CSS で行う必要があり、jQuery やその他の JS は使用しません。
これが私のJSfiddleの問題です:http://jsfiddle.net/zjfsy/
更新: 助けようとしている人々の要求に応じて、より具体的になるように質問を修正しました。上部の「目標」画像は、問題をより正確に反映するように更新されました。明確にしたいことの 1 つは、この特定のインスタンスはそれほど重要ではないということです。私はすでにポジションを修正しました:短期的には絶対的な修正です. 私の望みは、なぜこれがそれほど難しいのかをよりよく理解することです. 私は3つのコンテナを持っています。そのうちの 2 つを右にフロートさせ、3 つ目を拡大して、最後のコンテナーからページの端までのスペースを埋めるようにします。これがフロートの本来の役割のようです。これは私の側の基本的な誤解だと思います。
ともかく。さらに制約があります:
- リーディング バーは、左側とスウィッシュの間の空きスペースを埋めるために拡張する必要があります。
- 各タブには、背景を透過できるセパレーターが必要です。
- タブの数は、クライアントの選択に基づいて可変であり、定期的に変更される可能性があります。
- CSSで変更する以外に、HTMLの構造を実際に変更することはできません。
繰り返しになりますが、すべてのヘルプは非常に高く評価されています。