DOM-6 【兼容】讀寫樣式屬性、操作偽元素、運動元素初探

規范

<style type="text/css"></style>
<script type="text/javascript"></script>

讀寫樣式屬性

  1. .style是訪問不到css樣式表的,只能訪問到行內/內聯的屬性,當未設置行內屬性時,結果為空字符串
    在這里插入圖片描述
  2. 設置時,對復合值需要拆解賦值,不拆解效率更低
oDiv.style.weight='200px';
oDiv.style.border='5px solid #000';
// 更合適的寫法如下,拆解
oDiv.style.borderWidth='5px';
oDiv.style.borderStyle='solid';
oDiv.style.borderColor='#000';
  1. 設置float要寫成cssFloat(雖然設置float也有效果但是不規范,float是css中的保留字,也有浮點的含義)

查看元素css屬性

1. 元素.style

對于不同的盒子模型是什么

  1. 當給元素設置了行內樣式時
    在這里插入圖片描述
  2. 當元素未設置內聯樣式時
    在這里插入圖片描述

2. window.getComputedStyle(elem,null)

  • 查看計算樣式
  • 返回值是類數組
  • 屬性是只讀的
  • 是絕對值(非數學意義上的絕對值):em、rem轉換為px,十六進制轉換為rgb
  • IE8及以下不支持

Failed to set the ‘background’ property on ‘CSSStyleDeclaration’: These styles are computed, and therefore the ‘background’ property is read-only.
at HTMLDivElement.oDiv.onclick

  • 獲取元素行內、css樣式表

  • .style和getComputedStyle的區別
    在這里插入圖片描述
    在這里插入圖片描述

  • IE8支持elem.currentStyle

  • 該方法獲取到的height是否是盒子的實際高度,是由盒子模型決定的

  • 【兼容】

function getStyles(elem, prop) {if (window.getComputedStyle) {if (prop) {return window.getComputedStyle(elem, null)[prop];} else {return window.getComputedStyle(elem, null);}} else {if (prop) {return elem.currentStyle[prop];} else {return elem.currentStyle;}}
}

3.offsetWidth/offsetHeight

  • 訪問元素的實際寬高
  • 包含元素的padding、border(box-sizing為content-box時)
  • 會在元素渲染后訪問(即使設置的是css樣式表也能)
  • box-sizing為content-box時,長大的速度更快,因為始終獲得都是真實寬高,起始的基數不一樣
    在這里插入圖片描述

在這里插入圖片描述

  • 在js運動中的問題,如果設置的是css樣式表 box-sizing為content-box時
    在這里插入圖片描述
    在這里插入圖片描述
  • 使用box-sizing:border-box;初始的盒子變小了
    在這里插入圖片描述
  • box-sizing為content-box時
    在這里插入圖片描述

在這里插入圖片描述

操作偽元素

  • 操作偽元素最好的方法就是使用類名控制
    在這里插入圖片描述
  • window.getComputedStyle(elem,null)第二個參數傳值可以獲取after元素的只讀屬性
    在這里插入圖片描述

下拉選組件動畫

  • 要點,每次觸發時需要先清空定時器,否則出現抖動(當mouseenter時未完全展開就mouseleave,enter的定時器還在執行,就開始了leave的定時器)
    在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/251105.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/251105.shtml
英文地址,請注明出處:http://en.pswp.cn/news/251105.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

RGBD論文閱讀筆記

Single-Image Depth Perception in the Wild 簡要記載一下對于利用RGB圖像depth圖像得到segmentation的論文。 論文名稱&#xff1a;Cascaded Feature Network for Semantic Segmentation of RGB-D Images 論文出處 ICCV 2017 Lin 模型結構 數據集 NYUDv2 SUN-RGBD 性能分析 總…

vue組件調用(全局調用和局部調用)

當用vue-cli創建一個項目后, 創建項目的方法: https://www.cnblogs.com/fps2tao/p/9376847.html 編寫了組件怎么,在其他組件中調用了? 組件listBox: 路徑 src/components/listBox.vue <template><div class"listBox">listBox222</div> </templ…

http --- 路由器緩存與常見的狀態碼

路由器的緩存: // 當下路由器其主要系統性能指吞吐率、利用率、丟包率、延遲、緩存大小和實現復雜性等. // 當鏈路上發生擁塞時能夠對新進入的數據包進行緩存 // 從而降低丟包率、維持高的鏈路利用率 // 用于存放路由表的內存,速度快,價格也高狀態碼: // 為客戶端提供了一種理…

DOM-7 【兼容】事件處理函數、冒泡捕獲、阻止冒泡默認事件

事件處理函數 綁定事件 綁定事件的處理函數&#xff08;事件本身是存在的&#xff0c;綁定的是相應的反饋&#xff09;事件 事件的反饋 前端交互 &#xff08;前端核心&#xff09; 綁定事件的方式 1. 句柄綁定 默認&#xff08;只能&#xff09;是事件冒泡這種事件流為…

javascript --- XHR(XMLHttpRequet)對象

XHR: // XHR(XMLHttpRequest):為向服務器發送請求和解析服務器響應提供了流暢的接口 // 能夠以異步方式從服務器取得更多信息,意味著用戶點擊后,可以不必刷新頁面也能取得新數據 // 換句話說,可以使用XHR對象獲取新數據,然后再通過DOM將新數據插入到頁面中.XMLHttpRequest對象…

DOM-8 【兼容】冒泡捕獲流、事件與事件源對象、事件委托

事件流 1. 含義 描述從頁面中接收事件的順序 2. 分類 IE提出的 事件冒泡流 Event BubblingNetscape提出的 事件捕獲流 Event Capturing 3. 階段 事件捕獲階段 處于目標階段 事件冒泡階段 事件捕獲先于事件冒泡執行 dom dom0&#xff1a;定義句柄方式&#xff0c;兼…

IIS6.0,Apache低版本,PHP CGI 解析漏洞

IIS6.0解析漏洞 在IIS6.0下存在這樣的文件“名字.asp;名字.jpg” 代表了jpg文件可以以asp腳本類型的文件執行。 根據這個解析漏洞我們可以上傳這種名字類型的圖片&#xff0c;比如 1.asp;xxx.jpg 他會忽略;后邊的內容&#xff0c;所以文件相當于1.asp asp一句話木馬 <%eval …

UVA 3485 Bridge

題目大意 你的任務是修建一座大橋。橋上等距地擺放著若干個塔&#xff0c;塔高為H&#xff0c;寬度忽略不計。相鄰兩座塔之間的距離不能超過D。塔之間的繩索形成全等的對稱拋物線。橋長度為B&#xff0c;繩索總長為L&#xff0c;如下圖所示求建最少的塔時繩索的最下端離地的高度…

javascript --- XMLHttp2級、CORS(跨域資源共享)

FormData: // 為序列化表單以及創建與表單格式相同的數據提供了便利 var data new FromData(); data.append("name", "Nicholas");// 使用FormData標準化數據后,發送到服務器 var xhr createXHR(); xhr.onreadystatechange function () {if ( xhr.read…

ES5-拓展 this指向的總結

每個函數在執行時都有自己的this指向 1. 默認綁定規則&#xff1a; 全局中&#xff0c;this指向window this window函數的獨立調用&#xff0c;this默認指向window &#xff08;不要把獨立調用理解成window調用&#xff09; // 函數在全局中調用&#xff0c;也就是被window調…

Applet

Applets用于為Web應用程序提供交互功能&#xff0c;這些功能無法單獨由HTML提供。它們可以捕獲鼠標輸入&#xff0c;并且還具有按鈕或復選框等控件。響應于用戶動作&#xff0c;小應用程序可以改變提供的圖形內容。這使得小程序非常適合演示&#xff0c;可視化和教學。 一個app…

國內初創企業選擇云計算服務器價格對比

假設我們是一家初創企業&#xff0c;現在要選擇第一臺服務器。業務還未確定&#xff0c;只知道是互聯網業務 要求&#xff1a; 至少2核&#xff0c;否則多線程的軟件都跑不了至少4G內存&#xff0c;這樣可以運行數據庫或者elasticsearch這種比較吃內存的東西。或者說&#xff0…

javascript --- 幾個其他的跨域技術(圖像Ping、JSONP、Comet)

在CORS(Cross-Origin Resource Sharing,跨域資源共享)出現以前,要實現跨域Ajax通信是很難的. 可以利用DOM中能夠執行跨域請求的功能,來實現跨域通信: 瀏覽器到服務器的單向通信: 此項技術稱為圖像Ping,利用的是img.src的跨域事件 img.src只能通過偵聽load和error事件來確定瀏覽…

ES5-拓展 箭頭函數的this、this的優先級

讓內部函數的this指向和父函數的this&#xff0c;可以顯示改變this指向&#xff0c;也可以使用箭頭函數 箭頭代替了function關鍵字 箭頭函數內部沒有this指向&#xff0c;箭頭函數的this是穩定引用父作用域的。因為它的存在就是要穩定this指向。 適用于普通函數的所有綁定規則…

java 實現壓縮單個文件

先來實現一個簡單的單文件壓縮&#xff0c;主要是為了解一下壓縮需要使用到的流。。 效果&#xff1a; 說明&#xff1a;壓縮實現使用ZipOutputStream 代碼&#xff1a; package com.gx.compress;import java.io.BufferedInputStream; import java.io.BufferedOutputStream; im…

jekins構建觸發器詳解

jenkins版本&#xff1a;2.89.2 1、觸發遠程構建 (例如,使用腳本)&#xff1a;通過一個網址的訪問來觸發構建&#xff0c;這樣就不需要登錄jenkins系統也能觸發構建了。 示例地址&#xff1a; http://localhost:8848/job/FlashRegistration/build??token口令&cause書寫構…

http --- 前端的緩存

前端的緩存分為: http緩存 和 瀏覽器緩存 http緩存: // 當客戶端向服務器請求資源時,會先抵達瀏覽器緩存,如果瀏覽器有"要請求資源"的副本 // 就會從瀏覽器緩存中提取而不是從原始服務器中提取這個資源// 常見的http緩存,只能緩存get請求響應的資源,對于其他類型的響…

ES5-拓展 隱式數據類型轉換

Boolean轉換原則&#xff1a;非假即真 6種虛值 原始值轉換為原始值 對象轉換為原始值 Date()和new Date() new Date可以不寫括號(new方式返回的一定是對象)&#xff0c;返回Date對象Date()返回函數執行&#xff0c;返回時間字符串 引用值轉原始值 先找valueOf方法(一般…

Swagger的簡單入門【轉載】

一、Swagger簡介 上一篇文章中我們介紹了Spring Boot對Restful的支持&#xff0c;這篇文章我們繼續討論這個話題&#xff0c;不過&#xff0c;我們這里不再討論Restful API如何實現&#xff0c;而是討論Restful API文檔的維護問題。 在日常的工作中&#xff0c;我們往往需要給前…

visual studio code搭建本地服務器(node.js+express)

一、安裝node.js&#xff08;常規軟件安裝流程&#xff0c;比較簡單&#xff0c;不用贅述&#xff09; 二、安裝express框架 1. 打開Windows命令提示符&#xff0c;輸入&#xff1a; npm install express -g&#xff0c;等待&#xff0c;安裝好如下所示&#xff1a; npm instal…