我正在使用Dos Less,并尝试使用媒体查询创建一个响应式框架。

示例:如果视口的宽度为600像素(我不使用像素btw-只是为了便于说明),我将基于2列布局计算边距-每个边距为2.5%(15像素),其中有4。

我对1列和3列布局都做了类似的事情。所有这些都很好。

但是,我还想将该边距应用于其他内部容器-问题是内部容器的宽度不一定与视口相同,因此在300px宽的内部框上为2.5%-将为7-8px 。

我想是否可以将%转换为像素或rems可以解决此问题,但我无法使其正常工作。

我希望对这个问题有任何帮助,或者有我不知道的更好的解决方案?

最佳答案

查看我的评论,也许您可​​以尝试以下方法:

的CSS

body {
  margin: 0;
}
[class^="col-"], [class*=" col-"] {
float:left;
margin: 0 0.5rem;
background-color:purple;
}
[class^="col-"] [class*=" col-"],
[class^="col-"] [class^="col-"],
[class*=" col-"] [class*=" col-"],
[class*=" col-"] [class^="col-"]
{
background-color:green;
}

.col-one {
width: calc(100% - 1rem);
}
.col-half {
width: calc(50% - 1rem);
}
.col-third {
width:  calc(33.33333333% - 1rem);
}

@media (min-width: 48rem) {
[class^="col-"], [class*=" col-"] {
margin: 0 1rem;
}
.col-one {
width: calc(100% - 2rem);
}
.col-half {
width: calc(50% - 2rem);
}
.col-third {
width:  calc(33.33333333% - 2rem);
}
}

@media (min-width: 60rem) {
[class^="col-"], [class*=" col-"] {
margin: 0 1.5625rem;
}

.col-one {
width: calc(100% - 3.125rem);
}
.col-half {
width: calc(50% - 3.125rem);
}
.col-third {
width:  calc(33.33333333% - 3.125rem);
}

}


html

<div class="col-one">One</div>
<div class="col-half">Half</div>
<div class="col-half">Half</div>
<div class="col-third">Third</div>
<div class="col-third">Third</div>
<div class="col-third">Third</div>


<div class="col-half">
<div class="col-half">Half</div>
<div class="col-half">Half</div>
<div class="col-third">Third</div>
<div class="col-third">Third</div>
<div class="col-third">Third</div>
</div>
<div class="col-half">
<div class="col-half">Half</div>
<div class="col-half">Half</div>
<div class="col-third">Third</div>
<div class="col-third">Third</div>
<div class="col-third">Third</div>
</div>


前面的结果将如下图所示:

关于css - 如何在%Dot Less中将%转换为rem,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25810681/

10-12 14:10
查看更多