>本教程演示了如何通过使用CSS网格设计的Tumblr设计来创建响应迅速的基于网格的卡片布局,并为较旧的浏览器提供了使用浮子的后备。 我们将构建一个布局,其中包含标头卡和多个主题卡,每张包含图像和标题。
密钥功能:
CSS网格:
object-fit
:focus-within
标记结构:
)的无序列表(
)组成。 每个主题卡()都包含一个链接()包装标题()和图像( <img src="%E2%80%9C" https: alt="“" redesigning>
卡样式: > CSS样式卡,确保图像使用 >
浮点后期: 规则可确保仅在不支持CSS网格时使用浮点布局。 ><ul></ul>
<li>
<li class="card">
>布局实现(CSS Grid):<a></a>
>
<h2></h2>
CSS网格布局是使用SASS变量来定义的,可维护性和响应能力:<img src="https://img.php.cn/" alt="Redesigning a Card-based Tumblr Layout with CSS Grid ">
<!-- More topic cards -->
<code class="language-scss">$item-size: 210px;
$col-gutter: 10px;
$vp-gutter: $col-gutter;
$max-cols: 5;
.grid {
display: grid;
grid-gap: $col-gutter;
padding: 0 $vp-gutter;
grid-template-columns: repeat(auto-fill, $item-size);
grid-auto-rows: $item-size;
max-width: grid-width($max-cols); // Function defined below
justify-content: center;
margin: 40px auto;
}
@function grid-width($num-cols) {
@return $num-cols * $item-size + ($num-cols - 1) * $col-gutter;
}
// Media queries (Sass mixin) to handle header card spanning
@mixin when-n-cols($n) {
@media screen and (min-width: #{grid-width($n) + 2 * $vp-gutter + $scrollbar-size}) {
@content;
}
}
@include when-n-cols(2) {
.grid .header {
grid-row: span 2;
grid-column: span 2;
}
}
// ... (Styling for cards and header) ...</code>
和CSS过渡实现的。 为缺乏支持>的浏览器提供了后备大纲。@supports
>
以上是使用CSS网格重新设计基于卡的Tumblr布局的详细内容。更多信息请关注PHP中文网其他相关文章!