javascript更換背景

background設置多個屬性時,不能設置background-size的屬性,需要單獨設置。
使用js更改background屬性值的時候,儘量使用明確的屬性值,例如backgroundImage,不使用background,因爲如果原來的css中background設置了多個屬性,js修改的時候沒有寫全,未在js中寫的屬性就會變回默認屬性。如果在原css中設置了background-size屬性,在js通過background修改部分屬性後background-size也會變回默認值。而通過background。是不能修改background-size屬性的。
原CSS樣式

background: url('../../images/bflogin/bei.jpg') no-repeat 0 center;
-webkit-background-size:cover;
background-size:cover;

js更換背景後
1使用background
document.getElementsByClassName('main-top')[0].style.background = "url('" + image_list[i] + " ') no-repeat 0 center"  ;


2.使用backgroundImage
document.getElementsByClassName('main-top')[0].style.backgroundImage = "url('" + image_list[i] + " ') ";



background的五個參數
background : background-color || background-image || background-repeat || background-attachment || background-position 
W3C中的手冊說可以background 簡寫屬性在一個聲明中設置所有的背景屬性。

可以設置如下屬性:

  • background-color
  • background-position
  • background-size
  • background-repeat
  • background-origin
  • background-clip
  • background-attachment
  • background-image

如果不設置其中的某個值,也不會出問題,比如 background:#ff0000 url('smiley.gif'); 也是允許的。


background-clip屬性當背景是圖片的時候,border-box和padding-box效果相同(chrome下)。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章