我发现,如果将CSS背景应用于body
,则它将占用整个页面(无论实际的高度或宽度body
是多少)。
但是,如果您同时对html
和都应用CSS背景body
,则的背景body
不会占用整个页面 。
这是预期的行为吗?
我该如何叠加两个全屏背景(例如,背景色和半透明图像?)
这是正确的行为。1在标准模式下,body
,以及html
,不立即采取了视区的整个高度,即使它出现,所以当你只应用背景后者。实际上,如果您不为其提供自己的背景,则该html
元素将具有body
其背景,并将其html
传递给画布:
根元素的背景成为画布的背景,并且其背景绘画区域扩展为覆盖整个画布,尽管任何图像的大小和位置都相对于根元素而定,就好像它们是为该元素单独绘制的一样。(换句话说,背景定位区域是针对根元素确定的。)如果根的“
background-color”值为“ transparent”,则画布的背景色取决于UA。根元素不会再次绘制该背景,即其背景的使用值是透明的。对于其根元素是HTML
HTML
元素或XHTMLhtml
元素的文档:如果根元素上“ background-image”的计算值为“
none”且其“ background-color”为“ transparent”,则用户代理必须改为传播从该元素的第一个HTML
BODY
或XHTML
body
子元素计算背景属性的值。该BODY
元素的背景属性的使用值是它们的初始值,并且将传播的值视为在根元素上指定了它们。建议HTML文档的作者为BODY
元素而不是HTML
元素指定画布背景。
也就是说,您可以将任何背景图像叠加到单个元素(html
或body
)上的背景颜色上,而不必依赖两个元素-
只需在shorthand属性中使用background-color
和/ background-image
或组合它们background
:
body {
background: #ddd url(background.png) center top no-repeat;
}
如果要合并 两个背景图像 ,则需要依赖多个背景。主要有两天要执行此操作:
在CSS2中,这两种样式的样式都派上用场:只需将背景图像设置为,html
并将另一个图像body
叠加在第一个图像上即可。为了确保body
显示器上的背景图像处于全视口高度,您还需要分别应用height
和min-height
:
html {
height: 100%;
background: #ddd url(background1.png) repeat;
}
body {
min-height: 100%;
background: transparent url(background2.png) center top no-repeat;
}
顺便说一句,你为什么要注明原因height
,并min- height
以html
和body
分别为,因为无论元素有什么内在的高度。两者都是height: auto
默认设置。视口具有100%的高度,因此height: 100%
是从视口中提取的,然后body
最小化以允许滚动内容。
height
/ min-height
):body {
background: url(background2.png) center top no-repeat,
#ddd url(background1.png) repeat;
}
唯一需要注意的是,在单个多层背景中,只有最底层可以具有背景色。在此示例中,您可以看到transparent
上层缺少该值。
不用担心-即使使用多层背景,上面指定的带有传播背景值的行为也完全一样。
但是,如果需要支持较旧的浏览器,则需要使用CSS2方法,该方法一直支持到IE7。
我在另一个答案下的评论解释了由于看起来看似奇怪的现象,尽管看起来好像正在被填充,但body
实际上如何偏离html
默认的页边距。
1这可能有其在设置HTML根background
和bgcolor
属性body
造成的背景属性适用于整个视口。在这里更多。
问题内容: 1有1’m使用作为一个搜索页面的背景图像,并使用CSS来设置它,因为1’m内工作1’mJPEG文件Backbone.js的背景: 1要在CSS 3模糊滤镜应用 只 为背景,但1’m不知道如何风格只是一个元素。如果1个试; 正下方,在我的CSS,它的款式整个页面,而不仅仅是背景。有没有办法只选择图像和过滤器适用于?另外,有一种方法只是把模糊关闭页面上的所有其他元素? 问题答案: 你将不得
问题内容: 我正在尝试使用在photoshop中制作的图像作为GUI的背景。我怎么做?我也做了一些我想在执行操作后显示在按钮背景中的图像… 问题答案: 对于JButton,请使用以下命令: 小组更加有趣。不过,这是一个好方法:
如何添加图像并将其设置为我的应用程序背景 我知道你把你想要的图片粘贴到了drawable文件夹中。这是代码本身的问题,还是我应该创建一个RelativeLayout?或者仅仅是提供的代码中的一行更改? 这是我的代码,没有任何改动。
我试图让样式组件采取反应组件的SVG,并将其设置为背景图像,但我得到了错误: TypeError:无法将符号值转换为字符串 SVG组件代码: 容器组件代码: 我正在使用开箱即用的创建-反应-应用程序。 我也尝试过不使用样式组件和使用内联样式,但没有成功。 在这种情况下,是否可以使用SVG作为背景图像,而SVG是一个组件?
问题内容: 假设我要在CSS中渲染箭头,箭头应具有头部,尾部和灵活的宽度,以便可以包含文本。我当然可以创建多个div来获得所需的内容,但是如何在CSS3中完成呢? 我可以使用多个背景图片: 的HTML: 这给了我一个带有箭头和尾巴的透明中间部分。似乎不可能在中间部分指定颜色。 仅使用一张背景图像,您可以执行以下操作: 我知道这在很多方面都是可行的,但是背景颜色属性是否真的从速记定义中丢失了? 问题
下面的外部CSS页面示例中的快速简单问题; 我知道它们会影响不同的元素选择器,我的问题是使用背景和背景图像有什么区别?一方可以访问另一方的特定属性吗?谢谢你。