ブラウザは、正確な高さを設定したときにのみdivを表示します。しかし、その内容に応じてサイズ変更可能なdivを作成したいと思います。試した高さ:自動および高さ:100%。助けにはなりません。
私のdivはそのように見えます。サイドバーとコンテンツのバックグラウンドdivです。
.wrapper
{
width: 80%;
height:200px;
max-width: 1260px;
min-width: 780px;
margin: 0 auto;
background-image:url(core/design/img/transfff.png);
-moz-border-radius: 15px 15px 0px 0px;
border-radius: 15px 15px 0px 0px;
}
[〜#〜] update [〜#〜]私のhtmlは次のようになります
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<style type="text/css">
body {
font: 100%/1.4 Verdana, Arial, Helvetica, sans-serif;
background-image: url(core/design/img/bg.png);
background-position:top left;
background-size:100%;
background-color:#fff;
background-repeat:no-repeat;
margin: 0;
padding: 0;
color: #000;
}
ul, ol, dl {
padding: 0;
margin: 0;
}
h1, h2, h3, h4, h5, h6, p {
margin-top: 0;
padding-right: 15px;
padding-left: 15px;
a img {
border: none;
}
a:link {
color:#414958;
text-decoration: underline;
}
a:visited {
color: #4E5869;
text-decoration: underline;
}
a:hover, a:active, a:focus {
text-decoration: none;
}
.container {
width: 80%;
max-width: 1260px;
min-width: 780px;
margin: 0 auto;
}
.wrapper
{
width: 80%;
height:200px;
max-width: 1260px;
min-width: 780px;
margin: 0 auto;
background-image:url(core/design/img/transfff.png);
-moz-border-radius: 15px 15px 0px 0px;
border-radius: 15px 15px 0px 0px;
overflow: visible
}
.header {
padding:20px;
}
.sidebar1 {
float: left;
width: 20%;
padding-bottom: 10px;
}
.content {
padding: 10px 0;
width: 60%;
float: left;
}
.sidebar2 {
float: left;
width: 20%;
padding: 10px 0;
}
.content ul, .content ol {
padding: 0 15px 15px 40px;
}
ul.nav {
list-style: none;
border-top: 1px solid #666;
margin-bottom: 15px;
}
ul.nav li {
border-bottom: 1px solid #666;
}
ul.nav a, ul.nav a:visited{
padding: 5px 5px 5px 15px;
display: block;
text-decoration: none;
color: #000;
}
ul.nav a:hover, ul.nav a:active, ul.nav a:focus {
background: #6F7D94;
color: #FFF;
}
/* ~~The footer ~~ */
.footer {
padding: 10px 0;
position: relative;
clear: both;
}
.fltrt {
float: right;
margin-left: 8px;
}
.fltlft {
float: left;
margin-right: 8px;
}
.clearfloat { /
clear:both;
height:0;
font-size: 1px;
line-height: 0px;
}
-->
</style><!--[if lte IE 7]>
<style>
.content { margin-right: -1px; } /* this 1px negative margin can be placed on any of the columns in this layout with the same corrective effect. */
ul.nav a { zoom: 1; } /* the zoom property gives IE the hasLayout trigger it needs to correct extra whiltespace between the links */
</style>
<![endif]--></head>
<body>
<div class="container">
<div class="header"><a href="#"><img src="core/design/img/logo.png" alt="Insert Logo Here" name="Insert_logo" width="438px" height="95" id="Insert_logo" style=" display:block; margin:0 auto;" /></a>
<!-- end .header --></div>
<div class="wrapper">
<div class="sidebar1">
</div>
<div class="content">
</div>
<div class="sidebar2">
</div>
</div>
<div class="footer">
</div>
</div>
</body>
</html>
div
はコンテンツに応じて自然にサイズが変更されます。
Divに高さを設定しなかった場合、そのコンテンツを含むように拡大します。
この規則の例外は、divに浮動要素が含まれる場合です。この場合、含むdiv(ラッパー)がフロートをクリアすることを保証するために、少し余分に行う必要があります。
これを行う方法は次のとおりです。
#wrapper{
overflow:hidden;
}
または
#wrapper:after
{
content:".";
display:block;
clear:both;
visibility:hidden;
}
div内のコンテンツがclear:bothスタイルで終了していることを確認してください
問題の最新の解決策は次のとおりです。
CSSファイルに、擬似セレクター:afterとともに。clearfixという次のクラスを記述します。
.clearfix:after {
content: "";
display: table;
clear: both;
}
次に、HTMLで、。clearfixクラスを親Divに追加します。例えば:
<div class="clearfix">
<div></div>
<div></div>
</div>
常に機能するはずです。クラス名を。clearfixの代わりに。groupとして呼び出すと、コードがより意味的になります。二重引用符 ""の間のContentの値にドットやスペースを追加する必要はないことに注意してください。
ジェイミーディクソンが以前に述べたように、フロート<div>
は通常のフローから除外されます。まだ通常のフロー内にあるすべてのコンテンツは、それを完全に無視し、スペースを確保しません。
別の色のボーダーを配置してみてくださいborder:solid 1px orange;
各<div>
要素が何をしているかを確認します。フロートを削除し、div内にダミーテキストを配置することから始めます。次に、1つずつスタイルを設定して、目的のレイアウトを取得します。
this に従って、100%の高さを機能させるには、divが含まれる要素に高さを割り当てる必要があります。それはあなたのために働きますか?