十年網站開發(fā)經驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網站問題一站解決
語法:元素.style.樣式名=樣式值
創(chuàng)新互聯建站主要從事成都網站建設、成都網站制作、網頁設計、企業(yè)做網站、公司建網站等業(yè)務。立足成都服務道外,十多年網站建設經驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18982081108
注意:如果CSS的樣式名中含有-,這種名稱在JS中是不合法的,比如 background-color 。需要將這種樣式名修改為駝峰命名法:去掉-,然后將-后的第一個字母大寫,比如 backgroundColor
我們通過style屬性設置的樣式都是內聯樣式,而內聯樣式有較高的優(yōu)先級,所以通過JS修改的樣式往往會立即顯示
但是如果在樣式中寫了!important,則此時樣式會有最高的優(yōu)先級,即使通過JS也不能覆蓋該樣式,此時將會導致JS修改樣式失效
所以盡量不要為樣式添加!important
語法:元素.style.樣式名
通過style屬性設置和讀取的都是內聯樣式,無法讀取樣式表中的樣式
語法:元素.currentStyle.樣式名
如果當前元素沒有設置該樣式,則獲取它的默認值
例如: box1.currentStyle.width
這個方法是window的方法,可以直接使用需要兩個參數
第一個:要獲取樣式的元素
第二個:可以傳遞一個偽元素,一般都傳null
該方法會返回一個對象,對象中封裝了當前元素對應的樣式
可以通過對象﹒樣式名來讀取樣式
如果獲取的 樣式沒有設置 ,則會獲取到真實的值,而不是默認值
比如:沒有設置width,它不會獲取到auto,而是 一個長度
注意:通過currentStyle和getComputedstyle()讀取到的樣式都是只讀的,不能修改,如果要修改必須通過style屬性
參數:
obj 要獲取樣式的元素
name 要獲取的樣式名
通過js來改變CSS屬性,使用jQuery可以很方便的實現,像這樣:
$("img").css('border-color','red');
就可以把邊框顏色都變成紅色。
這是針對此問題的測試頁面
2、這是3張圖片
img src=';fm=11gp=0.jpg'
img src=';fm=11gp=0.jpg'
img src=';fm=11gp=0.jpg'
3、這是圖片的樣式,邊框默認為灰色。
img{
max-width:200px;
border-color:gray;
border-width:10px;
border-style:solid;
}
4、現在通過這幾行用到jQuery的代碼,控制圖片邊框根據鼠標移入移出邊框變灰和變紅。
$(function(){
$("img").on('mouseover',function(){
$(this).css('border-color','red');
}).on('mouseout',function(){
$(this).css('border-color','gray');
});
});
5、效果如圖
js是無法直接修改css文件的,但可以通過取對象的方式修改對象的樣式,通常有兩種方法:
1、改變className,但首先在樣式表中預設定樣式類。
例如:document.getElementById('obj').className='...';
2、改變cssText。
例如:document.getElementById('obj').style.height='100px';
js:
el.style.display?=?'value'??//?el?為DOM元素,display為要設置的屬性(width,height,等,采用駝峰式命名法),value為想要設置的值
jQ
$('.class').css('name',?'value');
或者
$('.class').css({
name1:?value1,
name2:?value2,
'backgroud-color':?'red'
})
鍵值可以使用駝峰式命名法
修改樣式
document.getELementById('div').style.fontSize = "20px";
修改寫好的類樣式
document.getELementById('div').className = "div";