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>