通常我們將網(wǎng)頁的樣式和內(nèi)容分開,樣式放在css文件,內(nèi)容放在html文件,當html文件需要用到樣式的時候,直接引用css中定義的樣式就可以了。其實JavaScript也能使用css文件或直接改變樣式的屬性來動態(tài)的改變網(wǎng)頁的樣式。

十載的萬安網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整萬安建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“萬安網(wǎng)站設計”,“萬安網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
1、JavaScript設置內(nèi)聯(lián)樣式
改變樣式最直接的方法就是改變元素節(jié)點的style屬性。如:
myElement.sytle.color = “red”;
myElement.sytle.left = “40px”;
myElement.sytle.backgroundRepeat = “repeat-x”;
JavaScript設置內(nèi)聯(lián)樣式時,采用和css設置樣式一樣的風格。如設置myElement的color屬性時,我們可以賦值任何在css中可以用的值,所以這里除了可以使用”red”,還可以使用”blue”, ”yellow”或十六進制的”#ff0000”。
另外用JavaScript改變網(wǎng)頁的屬性還需要注意2點:
l JavaScript中采用駝峰命名法:在css中,屬性名中的單詞之間是用橫杠隔開,如font-weight, background-color。但在JavaScript中,橫杠可能被認為是減號,所以采用駝峰命名法,單詞之間不用橫杠,如font-weight在JavaScript中應該寫成fontWeight;而background-color寫成backgroundColor。
l JavaScript中屬性值為字符串:在css中,屬性值都寫在雙引號中,即要用字符串來給css相關屬性賦值,同樣當屬性值有單位時,我們需要將單位也寫在字符串中。
2、JavaScript設置外部樣式
當你需要改變的樣式已經(jīng)在css文件中定義了,我們也可以用JavaScript直接用定義好的css樣式。如下格式:
myElement.className = “someCSSclass”;
同樣需要注意幾點:
l 不要將className寫成class,因為class是JavaScript保留的關鍵字,我們不能使用。
l 將定義在css中的樣式直接賦值給className,就能改變myElement元素的樣式。
l 當要刪除元素的樣式,可以給className屬性賦值為空。如:
myElement.className = “”;
教程網(wǎng) 站-秒秒學上的JavaScript課程有一個章節(jié)專門講解JavaScript改變樣式的內(nèi)容,可以看看,希望對你有幫助。
js是無法直接修改css文件的,但可以通過取對象的方式修改對象的樣式,通常有兩種方法:
1、改變className,但首先在樣式表中預設定樣式類。
例如:document.getElementById('obj').className='...';
2、改變cssText。
例如:document.getElementById('obj').style.height='100px';
通過js來改變CSS屬性,使用jQuery可以很方便的實現(xiàn),像這樣:
$("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、現(xiàn)在通過這幾行用到jQuery的代碼,控制圖片邊框根據(jù)鼠標移入移出邊框變灰和變紅。
$(function(){
$("img").on('mouseover',function(){
$(this).css('border-color','red');
}).on('mouseout',function(){
$(this).css('border-color','gray');
});
});
5、效果如圖
語法:元素.style.樣式名=樣式值
注意:如果CSS的樣式名中含有-,這種名稱在JS中是不合法的,比如 background-color 。需要將這種樣式名修改為駝峰命名法:去掉-,然后將-后的第一個字母大寫,比如 backgroundColor
我們通過style屬性設置的樣式都是內(nèi)聯(lián)樣式,而內(nèi)聯(lián)樣式有較高的優(yōu)先級,所以通過JS修改的樣式往往會立即顯示
但是如果在樣式中寫了!important,則此時樣式會有最高的優(yōu)先級,即使通過JS也不能覆蓋該樣式,此時將會導致JS修改樣式失效
所以盡量不要為樣式添加!important
語法:元素.style.樣式名
通過style屬性設置和讀取的都是內(nèi)聯(lián)樣式,無法讀取樣式表中的樣式
語法:元素.currentStyle.樣式名
如果當前元素沒有設置該樣式,則獲取它的默認值
例如: box1.currentStyle.width
這個方法是window的方法,可以直接使用需要兩個參數(shù)
第一個:要獲取樣式的元素
第二個:可以傳遞一個偽元素,一般都傳null
該方法會返回一個對象,對象中封裝了當前元素對應的樣式
可以通過對象﹒樣式名來讀取樣式
如果獲取的 樣式?jīng)]有設置 ,則會獲取到真實的值,而不是默認值
比如:沒有設置width,它不會獲取到auto,而是 一個長度
注意:通過currentStyle和getComputedstyle()讀取到的樣式都是只讀的,不能修改,如果要修改必須通過style屬性
參數(shù):
obj 要獲取樣式的元素
name 要獲取的樣式名
名稱欄目:原生js設置css樣式,js 設置css樣式
網(wǎng)站路徑:http://chinadenli.net/article7/dsgopij.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航、、外貿(mào)建站、服務器托管、網(wǎng)站收錄、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)