Day3-CSS 變量

Input

<input type="color" value="#ff0000" />
<input type="range" min="0" max="11" value="5" />

用來創建一個允許用戶使用顏色選擇器的區域(不支持Alpha通道),注意HTML5新增的表單類型,見MDN文檔:https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input/color

CSS變量

作用和Less類似,在整個文檔中重複使用的特定值。使用自定義屬性來設置變量名,並使用特定的 var() 來訪問。之前只用過Less,不知道這個的存在,原來原生的就可以實現。
文檔:https://developer.mozilla.org/zh-CN/docs/Web/CSS/Using_CSS_custom_properties

// 全局
:root {
  --global-color: #666;
  --pane-padding: 5px 42px;
}

// 局部
element {
  --main-bg-color: brown;   // 聲明
}

element {
  background-color: var(--main-bg-color);  // 使用
  color: var(--global-color: #666;)
}

Filter

背景模糊和圖片模糊
會產生的問題:白邊和容器外圍模糊

HTMLElement.dataset

HTML5 中的自定義數據屬性集 dataset (屬性集合,理解爲一個對象?)

<div id="user" data-id="1234567890" data-user="johndoe" data-date-of-birth>John Doe</div>

var el = document.querySelector('#user');

 el.id == 'user'
 el.dataset.id === '1234567890'
 el.dataset.user === 'johndoe'
 el.dataset.dateOfBirth === ''

用 JavaScript 改變 CSS 屬性值

在 JavaScript 中 document.documentElement 即代表文檔的根元素,也就是 <html> 標籤。

document.documentElement.setProperty('--global-color', '#fff');

<style>
   img {
		  padding: var(--spacing);
		  background: var(--base);
		  filter: blur(var(--blur));
	  }
</style>
	  

思路:傳入每次鼠標點擊或者滑動之後的新value給全局CSS變量,然後把根元素的樣式應用在結果圖片上

input.addEventListener('mousemove', handleUpdate)

DOM 將文檔解析爲一個由節點和對象(包含屬性和方法的對象)組成的結構集合。

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