在css中设置图片的背景图,怎么设置图片纵向拉伸

html-css019

在css中设置图片的背景图,怎么设置图片纵向拉伸,第1张

css中设置背景图拉伸填充,在css2.1之前这个背景的长宽值是不能被修改的。

实际的结果是只能重复显示,可以使用repeat,repeat-x,repeat-y,no-repeat这些属性来控制背景图片的显示。所以一般用作背景图片的有2类:

1.是一整张大图,尺寸和区域大小刚好吻合

2.一个很小的条状图,通过repeat后,形成一个很规则的大图背景。

css3出现以后,可以用background-size

属性来实现背景图拉伸填充。

而且这个属性在firefox,chrome,以及ie9上都可以使用。

具体使用方法如下:

背景图尺寸(数值表示方式):

#background-size{

background-size:200px

100px

}

背景图尺寸(百分比表示方式):

#background-size{

background-size:30%

60%

}

背景图尺寸(等比扩展图片来填满元素,即cover值):

#background-size{background-size:cover

}

背景图尺寸(等比缩小图片来适应元素的尺寸,即contain值):

#background-size{

background-size:contain

}

背景图尺寸(以图片自身大小来填充元素,即auto值):

#background-size{

background-size:auto

}

比方说背景图片铺满整个div(不管多大):

<div style="width:320px height:240px background:url(图片url) no-repeat center / 100% 100%"></div>

如果想让图片保持原始的长宽比例不变形(多余部分自动裁去):

<div style="width:320px height:240px background:url(图片url) no-repeat center / cover"></div>

如果想保持比例的同时又要显示出完整的图片(div会出现留白):

<div style="width:320px height:240px background:url(图片url) no-repeat center / contain"></div>

1、js实现div自适应高度

代码如下:

<script type="text/javascript">

<!--

window.onload=window.onresize=function(){

if(document.getElementById("mm2").clientHeight<document.getElementById("mm1").clientHeight){

document.getElementById("mm2").style.height=document.getElementById("mm1").offsetHeight+"px"

}

else{

document.getElementById("mm1").style.height=document.getElementById("mm2").offsetHeight+"px"

}

}

-->

</script>

<div class="content">

<div class="left" id="mm1">

left

</div>

<div class="right" id="mm2">

right<br><br><br><br><br><br>1<br><br>

</div>

</div>

2、纯CSS方法

#m1,#m2

{

padding-bottom: 32767px !important

margin-bottom: -32767px !important

}

@media all and (min-width: 0px) {

#m1,#m2

{

padding-bottom: 0 !important

margin-bottom: 0 !important

}

#m1:before, #m2:before

{

content: '[DO NOT LEAVE IT IS NOT REAL]'

display: block

background: inherit

padding-top: 32767px !important

margin-bottom: -32767px !important

height: 0

}

}

<div class="content">

<div class="left" id="m1">

left

</div>

<div class="right" id="m2">

right<br><br><br><br><br><br>1<br><br>

</div>

</div>

3、加背景图片

这个方法,很多大网站在使用,如163,sina等。

就是把边线做成背景,然后在最下面加上一个底线图层!