我需要主体具有银色背景并且只填充页面的75%。也就是说,只有75%的页面被涂成银色,而剩下的部分未被使用,并根据broswer的默认设置进行了涂色。页面的左侧部分是我的BODY,右侧部分未使用。我试过无法使用CSS调整主体宽度
body {
background-color: silver;
width: 75%;
}
但是整个页面仍然是银色的。我怎样才能完成我的任务?
我需要主体具有银色背景并且只填充页面的75%。也就是说,只有75%的页面被涂成银色,而剩下的部分未被使用,并根据broswer的默认设置进行了涂色。页面的左侧部分是我的BODY,右侧部分未使用。我试过无法使用CSS调整主体宽度
body {
background-color: silver;
width: 75%;
}
但是整个页面仍然是银色的。我怎样才能完成我的任务?
您需要设置两个html
和body
背景颜色。
除了已经设置了100%
高度的html
元素和100%
或100vh
一个min-height
到body
,使其常常充满屏幕的整个高度。
padding: 0
和margin: 0
很重要,因此您的body
和窗口之间不会有边框。
但是,奖励这只适用于现代浏览器。我现在无法测试旧版浏览器,但它会假定在版本9或10以下的IE中会出现问题。
因此,如果您还想支持旧浏览器,则需要使用解决方案由其他答案提供,并使用div
作为您的内容的容器。
html {
background-color: white;
height: 100%;
padding: 0;
}
body {
background-color: silver;
width: 75%;
min-height: 100%;
margin: 0;
}
div {
height: 500px;
width: 50px;
background-color: red;
}
<div>
test
</div>
那不是它是如何工作的。 ü可以使用的容器作为
<div id="container"></div>
#container{
background-color: silver;
width: 75%;
}
你必须使用一个div容器用于此目的:
body {
padding: 0;
margin: 0;
}
div {
min-height: 100vh;
background-color: silver;
width: 75%;
}
<div></div>
另一种方法(如果你不需要右边框为内容)将使用背景渐变:
html {
height: 100%;
}
body {
height: 100%;
margin: 0;
background: -webkit-linear-gradient(left, silver 0%, silver 75%, white 75%);
background: linear-gradient(to right, silver 0%, silver 75%, white 75%);
}
谢谢。 BODY内有几个DIV。是否有可能删除它们之间的空白? – user6908406
是的,取决于你的标记。看到这篇文章:https://css-tricks.com/fighting-the-space-between-inline-block-elements/ – andreas
你不应该使用供应商前缀唯一的解决方案作为你的答案。如果您使用供应商前缀,那么总是在css规则中包含标准版本的css属性。例如。背景:-webkit-linear-gradient(左边,银色0%,银色75%,白色75%);背景:线性渐变(向右,银0%,银75%,白色75%);' –
谢谢你,史蒂夫。我之前尝试过,但这种方法在DIV – user6908406
白色空间之间留下了丑陋的空白区域?怎么样 ?只需将所有其他div放入此DIV中。简单 – Steve
如果OP没有使用重置样式表或者不为'html'和'body'设置margin/padding为'0',那么'div'和窗口之间会有一个空格,因为默认边距和填充。 –