水平方向に3つの部門があるサンプルWebサイトを作成しています。一番左のdivを25%幅、真ん中のdivを50%幅、右に25%幅にして、分割がすべての100%スペースを水平に埋めるようにします。
<html>
<title>
Website Title
</title>
<div id="the whole thing" style="height:100%; width:100%" >
<div id="leftThing" style="position: relative; width:25%; background-color:blue;">
Left Side Menu
</div>
<div id="content" style="position: relative; width:50%; background-color:green;">
Random Content
</div>
<div id="rightThing" style="position: relative; width:25%; background-color:yellow;">
Right Side Menu
</div>
</div>
</html>
このコードを実行すると、divが互いの上に表示されます。私はそれらを隣り合わせに表示したいです!
これどうやってするの?
この種のものにフロートを使用することは控えたい。 inline-block
を使用したいです。
さらに考慮すべき点:
<head>
や<body>
など、いくつかの重要なHTMLタグを見逃したdoctype
が含まれていませんでしたドキュメントをフォーマットするより良い方法は次のとおりです。
<!DOCTYPE html>
<html>
<head>
<title>Website Title</title>
<style type="text/css">
* {margin: 0; padding: 0;}
#container {height: 100%; width:100%; font-size: 0;}
#left, #middle, #right {display: inline-block; *display: inline; zoom: 1; vertical-align: top; font-size: 12px;}
#left {width: 25%; background: blue;}
#middle {width: 50%; background: green;}
#right {width: 25%; background: yellow;}
</style>
</head>
<body>
<div id="container">
<div id="left">Left Side Menu</div>
<div id="middle">Random Content</div>
<div id="right">Right Side Menu</div>
</div>
</body>
</html>
jsFiddle が適切な尺度です。
これは非常に古い質問です。 FlexBox を使用してこの問題を解決したので、ここに投稿してください。ここに解決策があります
#container {
height: 100%;
width: 100%;
display: flex;
}
#leftThing {
width: 25%;
background-color: blue;
}
#content {
width: 50%;
background-color: green;
}
#rightThing {
width: 25%;
background-color: yellow;
}
<div id="container">
<div id="leftThing">
Left Side Menu
</div>
<div id="content">
Random Content
</div>
<div id="rightThing">
Right Side Menu
</div>
</div>
display:flex
をコンテナに追加する必要がありました!フロートは不要です。
floating elements を次のように使用できます。
<div id="the whole thing" style="height:100%; width:100%; overflow: hidden;">
<div id="leftThing" style="float: left; width:25%; background-color:blue;">Left Side Menu</div>
<div id="content" style="float: left; width:50%; background-color:green;">Random Content</div>
<div id="rightThing" style="float: left; width:25%; background-color:yellow;">Right Side Menu</div>
</div>
親コンテナ上のoverflow:hidden;に注意してください。高さ0)。
最も簡単な方法
質問が回答されたことがわかります。今後この質問を抱えている人のためにこの回答をしています。
インラインcssをコーディングすることはお勧めできません。また、すべての内部divに対してID、常にスタイリングにclassを使用してください。 。プロのWebデザイナーになろうとしている場合、インラインcssの使用は非常に悪い習慣です。
ここであなたの質問で私は親divのラッパークラスを与えました、そして、すべての内側のdivはCSSの子divです。あなたはnth-childセレクターを使って内側のdivを呼び出すことができます.
ここでいくつかのことを指摘したい
1-インラインCSSを使用しないでください(非常に悪い習慣です)
2-idの代わりにクラスを使用してみてください。idを指定すると1回しか使用できませんが、クラスを使用すると何度も使用でき、そのクラスを使用してスタイルを設定できるため、コードの記述が少なくなります。
私の答えのためのコードペンリンク
https://codepen.io/feizel/pen/JELGyB
.wrapper{width:100%;}
.box{float:left; height:100px;}
.box:nth-child(1){
width:25%;
background-color:red;
}
.box:nth-child(2){
width:50%;
background-color:green;
}
.box:nth-child(3){
width:25%;
background-color:yellow;
}
</ code>
<div class="wrapper">
<div class="box">
Left Side Menu
</div>
<div class="box">
Random Content
</div>
<div class="box">
Right Side Menu
</div>
</div>
あなたが追加します
float: left;
3つの要素のスタイルに合わせて、親コンテナが
overflow: hidden; position: relative;
これにより、フロートが実際のスペースを占めるようになります。
<html>
<head>
<title>Website Title </title>
</head>
<body>
<div id="the-whole-thing" style="position: relative; overflow: hidden;">
<div id="leftThing" style="position: relative; width: 25%; background-color: blue; float: left;">
Left Side Menu
</div>
<div id="content" style="position: relative; width: 50%; background-color: green; float: left;">
Random Content
</div>
<div id="rightThing" style="position: relative; width: 25%; background-color: yellow; float: left;">
Right Side Menu
</div>
</div>
</body>
</html>
また、幅:100%および高さ:100%をコンテナから削除する必要があることに注意してください。そうしないと、3番目のブロックが2行目に折り返されます。
position:relative;
を取り除き、float:left;
およびfloat:right;
に置き換えます。
Jsfiddleの例: http://jsfiddle.net/d9fHP/1/
<html>
<title>
Website Title </title>
<div id="the whole thing" style="float:left; height:100%; width:100%">
<div id="leftThing" style="float:left; width:25%; background-color:blue;">
Left Side Menu
</div>
<div id="content" style="float:left; width:50%; background-color:green;">
Random Content
</div>
<div id="rightThing" style="float:right; width:25%; background-color:yellow;">
Right Side Menu
</div>
</div>
</html>