我正在使用SVG徽标作为背景图像,但似乎无法使其在Internet Explorer (编辑:和Safari)中 正确对齐到左侧。
容器如下所示:
<div id="header">
<div id="logo"></div>
</div>
搭配款式:
#header{
width: 100%;
max-width: 1200px;
height: 100%;}
#logo{
background: url(../images/ss_logo.svg);
background-position: left center;
width: 100%;
height: 100%;
float: left;}
您可以看到<div>
应当跨越其父元素的100%,但在元素左侧显示徽标。在Chrome和Safari中这可以正常工作,但徽标始终<div id="logo">
位于IE中的居中位置。
似乎很难找到信息,其他人也遇到同样的问题吗?
问题不在于CSS,而在于SVG。SVG将增长以填充整个元素框的背景(如预期的那样)。SVG规模如何成为控制因素:
viewBox="0 0 widthheight"
在<svg>
元素上设置(以像素为单位)属性,然后删除其width
和height
属性。您还需要preserveAspectRatio="xMinYMid"
在svg
元素上设置(x /垂直左对齐,y /水平中间对齐)。至少与Internet Explorer 10和11兼容。
<svg viewbox="0 0 64 64"
preserveAspectRatio="xMinYMid">
… </svg>
默认情况下,背景图像从元素的 padding 区域的左上角开始显示。然而,有时候却希望背景图像从边框的左上角、或内容区的左上角开始显示。 这时,就可以通过 background-origin属性来设置背景图像的起始显示位置,可选值有 border-box | padding-box | content-box,默认值为 padding-box。 border-box 表示背景图像从 border
除了背景背景平铺外,CSS还提供了另一个强大的功能,即背景定位技术,能够精确控制背景在对象中的位置。 默认情况下,背景图像都是从元素 padding 区域的左上角开始出现的,但设计师往往希望背景能够出现在任何位置。通过 background-position属性,可以很轻松的控制背景图像在对象的背景区域中的起始显示位置。其语法格式为: background-position: xpos ypos
问题内容: 是否可以将div中的背景图像居中放置?我已经尝试了几乎所有内容-但没有成功: 这可能吗? 问题答案:
我在一个简单的锚点元素上使用了一个svg背景图像,并且需要将图形定位在元素的右侧。 我已经设置了两个相互依存关系--除了使用gif或svg图像之外,其他都是相同的。gif正确地定位在右边,但svg不正确。 gif-在iPhone上正确定位-http://codepen.io/johnholtripley/pen/yldwf svg-在iPhone上的位置不正确-http://codepen.io/
问题内容: 我想居中背景图像。没有使用div,这是CSS样式: 上面的CSS会全部平铺并将其居中,但是看不到一半的图像,只是向上移动了一点。我想做的就是将图像居中。我可以在21英寸的屏幕上观看图像吗? 问题答案: background-image: url(path-to-file/img.jpg); background-repeat:no-repeat; background-position
问题内容: 有什么方法可以将图像设置为背景JFrame? 问题答案: 没有内置方法,但是有几种方法可以实现。目前我能想到的最直接的方法是: 创建的子类。 重写绘制想要显示的图像的方法。 设置内容窗格的是这个子类。 一些示例代码: 请注意,如果你要使用此代码,则不会处理调整图像大小以适合的大小。