我如何使用最小和最大 CSS 函数来处理 auto

Posted

技术标签:

【中文标题】我如何使用最小和最大 CSS 函数来处理 auto【英文标题】:How i can use min and max CSS functions to work with auto 【发布时间】:2022-01-16 05:48:10 【问题描述】:

我希望能够使用常见的margin: auto 属性,但有最小边距,例如:

margin: 0 max(auto, 16px);

这将使元素水平居中,并且当视口太小时时,仍会在任一侧强制执行 16 像素的边距。但不适用于 min()max() CSS 与 margin: auto;

例如: 当屏幕降低 500 像素时,我想为 .navbar__menu 设置样式 margin-left: 30px;margin-right: 30px;(不使用@media 查询)

.navbar__menu 
  max-width: 500px;
  height: 50px;
  position: absolute;
  top: 100px;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  background: red;
  display: flex;
<div class="navbar__menu">

</div>

【问题讨论】:

分享您的完整代码,以便我们了解您想要居中的元素的性质 【参考方案1】:

使用margin-inline: max(30px,50% - 500px/2),无需设置max-width(更多详情:https://twitter.com/ChallengesCss/status/1469270181205749771)

.navbar__menu 
  height: 50px;
  position: absolute;
  top: 100px;
  left: 0;
  right: 0;
  margin-inline: max(30px,50% - 500px/2);
  background: red;
  display: flex;
<div class="navbar__menu">

</div>

【讨论】:

以上是关于我如何使用最小和最大 CSS 函数来处理 auto的主要内容,如果未能解决你的问题,请参考以下文章

mysql AUTO_INCREMENT 能设置区间吗?即有一个自增最小值和最大值,最大值自己指定不是该类型的最大值

现代 CSS 解决方案:CSS 原生支持的三角函数

如何css宽度设置为包含内容,高度设置为100%?

使用 Lambda 函数覆盖 AWS Auto Scaling 策略

如何在pyomo的目标函数中使用最小值和最大值

表格列,使用 css 设置最小和最大宽度