使用css变量存储(自定义属性 L01)

272 阅读1分钟

使用css变量存储(自定义属性)

可以通过变量来给css做全局变量,在每个标签都可以使用。

/* 设置全局变量 */
:root{
  --main-bg-color:#f4f4f4;
  --main-txt-color:#333;
  --header-bg-color:#6767cc;
  --header-txt-color:#fff;
  --container-width:90%;
}

body{
  margin: 0;
  padding: 0;
  line-height: 1.5;
  background-color:var(--main-bg-color);
  color: var(--main-txt-color);
}

/* 设置局部变量 */
.box{
  --box-bg-color:#ddd;
  --box-border-color:#06c;
  --box-padding: 5px 10px;
  --box-shadow-h-offset:10px;
  --box-shadow-v-offset:5px;
  --box-shadow-blur:5px;
}

.box{
  background-color: var(--box-bg-color);
  border: 1px solid var(--box-border-color);
  padding: var(--box-padding);
  box-shadow: 
  var(--box-shadow-h-offset) 
  var(--box-shadow-v-offset) 
  var(--box-shadow-blur) 
  var(--box-border-color);
}

.grid{
  --gap:20;
}

.grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: calc(var(--gap) * 1px);
  align-items: center;
}

.box p{
  /* --box-border-color:#555;
  color: var(--box-border-color); */
  color: var(--box-p-color,#555);
}



// #06c .box
const box = document.querySelector(".box");
const boxStyles = getComputedStyle(box);
// console.log(boxStyles);
const boxBorderColor = boxStyles.getPropertyValue("--box-border-color");
// console.log(boxBorderColor);

const header = document.querySelector("#main-header");
header.style.setProperty("--header-bg-color","green");

grid

这个样式真的很好用,对于页面排版很不错