div
純粋なCSSで50pxを100%未満にすることは可能ですか?<div>
を100%未満の50pxにしたい。JavaScriptは必要ありません。
6 に答える
はい、できます。IEを使用せずに、を使用expression()
してCSS3でそれを行うことができますcalc()
。
div {
width: 100%;
width: -webkit-calc(100% - 50px);
width: -moz-calc(100% - 50px);
width: calc(100% - 50px);
}
デモ: http: //jsfiddle.net/thirtydot/Nw3yd/66/
これはあなたの人生をとても楽にしてくれます。現在、Firefox、Google Chrome(WebKit)、IE9の3つのメインブラウザでサポートされています:http://caniuse.com/calc
DIVは自動的にその親の幅を取ります。したがって、を定義する必要はありませんwidth
。通常は、次のように記述します。
div{
margin-right:50px;
}
もう1つの方法は、絶対測位です。
div {
position: absolute;
left: 0;
right: 50px;
}
ただし、Sandeepのソリューションは、通常使用する必要があるソリューションです。使いすぎは避けてくださいfloat
。これにより、要素がコンテナを自然に満たすのを防ぎます。
私のソリューションは、の有無にかかわらず機能しfloat: left
ます。
HTML:
<div></div>
css:
div {
height: 20px;
background: black;
float: left;
width: 100%;
padding-right: 50px;
box-sizing: border-box;
background-clip: content-box;
}
互換性:
Firefox 3.6、Safari 5、Chrome 6、Opera 10、IE 9
ディスプレイblock
とを使用しますmargin
。定義された/とdisplay:block
組み合わされていない場合、その親を埋めようとします。height
width
header {
width:100%;
background:#d0d0d0;
height:100%;
}
h1 {
display:block;
border:#000 solid 1px;
margin:0 50px 0 0;
height:100px;
}
<header>
<h1></h1>
</header>
はい、作ることでできます
#custom_div{
width:100%;
margin-right:50px;
}
ありがとう