css - 在减小屏幕宽度的同时平滑增加元素宽度
问题描述
我在style.less
文件中有一些代码:
.wrapper {
width: 64%;
@media screen and (max-width: 768px) {
width: 82%;
}
@media screen and (max-width: 320px) {
width: 94%;
}
}
如您所见,.wrapper
当屏幕宽度为 768px 时,元素的宽度必须为 82%。
是否可以编写任何允许.wrapper
每 64 像素平滑增加元素宽度的函数?
得到64个像素如下:
(1920px - 768px) / 18,其中 18 是 64 到 82 之间的百分比
解决方案
您可以使用 lessloop
来定义 18 个断点的宽度,并且可以定义宽度上的过渡以平滑调整大小
@iterations: 0;
.wrapper {
transition: width .5s 0s;
.wrapper-for (@i) when (@i < 19) {
@media screen and (max-width: (1920px - @i * 64)) { width: (64% + @i); }
.wrapper-for(@i + 1);
}
.wrapper-for (@iterations);
}
这编译成
.wrapper {
transition: width .5s 0s;
}
@media screen and (max-width: 1920px) {
.wrapper {
width: 64%;
}
}
@media screen and (max-width: 1856px) {
.wrapper {
width: 65%;
}
}
//[14 breakpoints]...
@media screen and (max-width: 832px) {
.wrapper {
width: 81%;
}
}
@media screen and (max-width: 768px) {
.wrapper {
width: 82%;
}
}
推荐阅读
- angular - 在属性中存储来自 Angular 订阅的数据
- c# - 为什么可以将 Windows 特定的 Nugets 添加到 ASP.NET Core
- javascript - 将我的 if 条件转换为使用正则表达式选项切换大小写:javascript
- html - 当我使用
,内容消失(菜单和路由器出口) - postgresql - PostgreSQL 在部分索引中使用时间戳差异进行 upsert
- javascript - JSDoc 不显示参数表和返回值/名称/描述
- python - 使用其他行中的非唯一值从 Dataframe 行中提取值
- sql-server - XML 同名但属性不同的多个节点 SQL
- powershell - 具有多个潜在凭据的 PowerShell Connect-VIServer
- android - 编译 LineageOS 17.1 只生成 system.img 不生成 zip 包?