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 许可发布