gpt4 book ai didi

responsive-design - 苏西 : Use different layouts for different screen sizes

转载 作者:行者123 更新时间:2023-12-04 18:46:21 24 4
gpt4 key购买 nike

我正在使用 Susy 构建移动优先网站,并希望针对不同的屏幕尺寸使用不同的布局。每个布局都有自己的一组列、列宽和装订线宽度。

我该怎么做呢?

我的尝试:

1.老苏西方法

在旧的 Susy 中,你会这样做:

$base-font-size: 10px;
$show-grid-backgrounds : true;


$total-columns : 4;
$column-width : 6.250em;
$gutter-width : 1em;
$gutter-padding : $gutter-width;

body {
background:pink;
}


@media only screen and (min-width: 480px) {
$total-columns : 3;
/*$column-width : 12.567em;
$gutter-width : 3em;
$gutter-padding : $gutter-width;*/

body {
background:yellow;
}


}

@media only screen and (min-width: 600px) {
$total-columns : 6;
/*$column-width : 7.500em;
$gutter-width : 2em;
$gutter-padding : $gutter-width;*/

body {
background:blue;
}

}

@media only screen and (min-width: 768px) {
$total-columns : 6;
/*$column-width : 7.500em;
$gutter-width : 2em;
$gutter-padding : $gutter-width;*/

body {
background:green;
}

}

@media only screen and (min-width: 960px) {
$total-columns : 6;
/*$column-width : 8.833em;
$gutter-width : 3em;
$gutter-padding : $gutter-width;*/

body {
background:red;
}

}

[背景颜色让我可以看出它正在工作]

在 New Susy 中,当我这样做时,无论屏幕大小如何,列数始终为 6。它们也不是正确的列大小。

2.断点方法
新 Susy 有一个新 break point method它允许您为不同的布局指定不同的列。这是我使用它的方式:
$base-font-size: 10px;
$show-grid-backgrounds : true;


$total-columns : 4;
$column-width : 6.250em;
$gutter-width : 1em;
$gutter-padding : $gutter-width;

body {
background:pink;
}

.layout-primary {
@include container;
@include susy-grid-background;
}


@include at-breakpoint(480px 3) {
.layout-primary {
@include container;
}

}

@include at-breakpoint(600px 6) {
.layout-primary {
@include container;
}
}

@include at-breakpoint(768px 6) {
.layout-primary {
@include container;
}
}

当我使用此代码时,无论布局如何,列现在总是停留在 4。您也不能使用此方法指定不同的列宽/填充值。

Susy 太棒了,我知道我误解了一些东西。但是我花了很长时间浏览文档并尝试不同的东西,但看不出我做错了什么。

我知道我问过这个问题 before ,但那是针对旧的 Susy 版本。

最佳答案

您在每个断点的背景中看到 4 列的原因是因为您只声明了 @include susy-grid-background;在 4 列上下文中。我认为有人已经提交了一个错误来创建断点/后台快捷方式,所以很快就会出现。与此同时,你必须在任何你调用的地方重新调用该 mixin container .

@include at-breakpoint(600px 6) {
.layout-primary {
@include container;
@include susy-grid-background;
}
}

但你说得对, at-breakpoint此时只允许更改列数。我想扩展一下,所以如果你在 github 上提交错误,我会很高兴地查看它。同时还有一个 with-grid-settings mixin 允许您更改所有基本设置(如果可以的话,我也希望在那里获得高级设置)。
@include at-breakpoint(600px 6) {
@include with-grid-settings(6,6em,1em,1em) {
.layout-primary {
@include container;
@include susy-grid-background;
}
}
}

关于responsive-design - 苏西 : Use different layouts for different screen sizes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13524596/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com