【问题标题】:Sciter CSS 'flow' attribute browser alternativesSciter CSS 'flow' 属性浏览器替代品
【发布时间】:2018-03-20 03:55:36
【问题描述】:

最近我一直在玩Sciter,并发现了非常有用的flow CSS 属性。除了将其列为 Sciter 功能并链接到 this article 之外,文档几乎没有什么可说的。

显然,这在浏览器中不起作用,并且很难找到有关该主题的更多信息。

我发现此功能非常有助于快速创建漂亮的布局,并且无需大惊小怪,因此我对可以在浏览器中使用的类似功能非常感兴趣。

基本上我有两个问题:

  1. 我可以在普通浏览器中使用类似的东西(例如,使用标准 CSS)吗?什么以及如何?
  2. (主要是为了满足闲散的好奇心)除了 Sciter 之外,这个特殊的扩展是否用于其他任何东西?

【问题讨论】:

  • 您的请求是“类似的东西”,看起来您在快速阅读中请求类似于 Sciter 的东西。我取消了关闭投票。对不起。
  • 啊,我可以看到它是如何读取的。稍微编辑了问题以清除它。

标签: html css sciter


【解决方案1】:

使用网站上的示例:

您可以这样做(添加背景以供查看:

p {
  margin-left: calc((100% - 40%) / (2 + 1) * 2);
  margin-right: calc((100% - 40%) / (2 + 1) * 1);
  background-color: #fdfcc1;
}
<p>... some text ...</p>

你可以用任何值来实现它:

p {
  margin-left: calc((100% - ELEMENT_WIDTH) / (FLEX_VALUE_LEFT + FLEX_VALUE_RIGHT) * FLEX_VALUE_LEFT);
  margin-right: calc((100% - ELEMENT_WIDTH) / (FLEX_VALUE_LEFT + FLEX_VALUE_RIGHT) * FLEX_VALUE_RIGHT);
}

或者如果你使用的是 SCSS,你可以这样做:

$elem-width: 40%;
$flex-left: 2;
$flex-right: 1;

p {
  margin-left: calc((100% - $elem-width) / ($flex-left + $flex-right) * $flex-left);
  margin-right: calc((100% - $elem-width) / ($flex-left + $flex-right) * $flex-right);
}

【讨论】:

  • 我很确定这不会产生相同的效果。完全没有。所有这一切都是定位一个项目,它不会像flow 那样定位一个项目的孩子。此外,它似乎没有根据彼此的位置正确定位孩子。
  • AFAIK 可以使用这些公式对 JavaScript 执行某些操作,但这并不是我真正想要的。不过还是很有趣……
  • @MiloChristiansen @MiloChristiansen sciter.com/docs/flex-flow/flex-layout.htm 是我向 W3C CSS WG 添加到 CSS 的建议。努力说服人们但放弃了,因为当时谷歌正在推动他们自己的 flexbox。所以 flexbox w3.org/TR/css-flexbox-1 是我们唯一应得的。
  • 这两个链接都很有趣,谢谢。
猜你喜欢
  • 2015-08-08
  • 1970-01-01
  • 2014-12-14
  • 2020-10-02
  • 2010-12-28
  • 2016-03-17
  • 2015-05-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多