是否有可能使一个div 50px小于100%纯CSS?我想让<div>只比100%小50px。我不需要任何JavaScript。


当前回答

是的,我们可以通过制造

#custom_div{
 width:100%;
 margin-right:50px;
 }

谢谢

其他回答

我的解决方案有和没有浮动:左。

HTML:

<div></div>

css:

div {
    height: 20px;
    background: black;
    float: left;
    width: 100%;
    padding-right: 50px;
    box-sizing: border-box;
    background-clip: content-box; 
}​

Demo

兼容性: 火狐3.6,Safari 5, Chrome 6, Opera 10, IE 9

另一种选择是绝对定位。

div {
    position: absolute;
    left: 0;
    right: 50px;
}

小提琴

但是,桑迪普的解决方案是你通常应该使用的。只是 避免过度使用浮子。这阻止了元素自然地填充容器。

js小提琴

使用显示块和边距。显示:块未与定义的高度/宽度组合时,将尝试填充它的父级。

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;
 }

谢谢

DIV会自动获取父DIV的宽度。因此,不需要定义任何宽度。通常是这样写的:

div{
    margin-right:50px;
}

检查这把小提琴