计算机微刊前端程序员干货IFE-2017

2017IFE-听指令的小方块(一)

2017-10-15  本文已影响18人  朋友喜欢叫我春哥

前言

2017-百度前端技术学院编码任务:听指令的小方块(一)

任务目的

任务描述

DEMO

项目地址

实现

思路

设置小方块绝对定位,然后通过JS去控制它前进和转向。

但是这里主要有2个问题

问题

如何读写元素最终的CSS属性值呢?

  1. style-可读可写
    使用style属性,仅仅只能获取和设置行内的样式,如果是通过内联<style>或链接<link>提供的样式规则就无可奈何了
var box = document.querySelector('.box')

box.style.transform //  "" 为空字符串,无法获取非style的CSS属性值

  1. getComputedStyle-可读不可写
    使用getComputedStyle可以读取元素最终的CSS属性值,但是无法设置。
let elem = document.getElementById("elem-container");

let theCSSprop = window.getComputedStyle(elem,null).getPropertyValue("height");
// window.getComputedStyle(elem,null).height;
// getPropertyValue方法可以获取CSS样式申明对象上的属性值(直接属性名称)
  1. CSSStyleSheet-对象可读可写
    CSSStyleSheet类型表示通过<link>元素和<style>元素(注意这两种形式的都包括)包含的样式表,找到该元素CSSStyleRule对象,通过对style属性进行读写。
document.styleSheets;                       //StyleSheetList,集合
var sheet = document.styleSheets[0]; 

// 查看元素left
sheet.rules[9].style.getPropertyValue('left')     // "80px"

// 设置元素left
sheet.rules[9].style.left = '120px'

参考链接

获取元素CSS值之getComputedStyle方法
获得div元素的translateY值
getComputedStyle
DOM系列---DOM操作样式

上一篇下一篇

猜你喜欢

热点阅读