Skip to content

CSS

样式、布局、动画等相关内容

变量

  • 有两个变量 --primary-color--secondary-color,使用其中一个作为背景色。
css
:root {
  --primary-color: red;
  --secondary-color: blue;
  --chosen-color: var(--primary-color, var(--secondary-color));
}
.element {
  background-color: var(--chosen-color);
}
  • 基于某种逻辑来选择其中一个值,可以结合使用 CSS 的条件伪类。
css
:root {
  --primary-color: red;
  --secondary-color: blue;
}
body[data-theme='primary'] {
  --chosen-color: var(--primary-color);
}
body[data-theme='secondary'] {
  --chosen-color: var(--secondary-color);
}
body[data-theme='primary'] {
  --chosen-color: var(--primary-color);
}
body[data-theme='secondary'] {
  --chosen-color: var(--secondary-color);
}
.element {
  background-color: var(--chosen-color);
}
html
<body data-theme="primary">
  <div class="element">This element has the primary color as background.</div>
</body>

<body data-theme="secondary">
  <div class="element">This element has the secondary color as background.</div>
</body>

Flexbox 布局盒子的子元素根据数量宽高自适应

html
<style>
  .container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* 子元素之间的间距 */
  }
  .item {
    flex: 1 1 calc(25% - 10px); /* 基于 4 列布局 */
    box-sizing: border-box; /* 包含 padding 在内计算宽度 */
  }
</style>
<div class="container">
  <div class="item">1</div>
  <div class="item">2</div>
  <div class="item">3</div>
</div>

基于 MIT 许可发布