html - Calc() 在编号的 CSS 类上?

标签 html css calc

假设我有以下 HTML:

<div class="bigSquare">
   <div class="square0 square"></div>
   <div class="square1 square"></div>
   <div class="square2 square"></div>
   <div class="square3 square"></div>
</div>

以及以下 CSS:

.bigSquare {
   height: 100px;
   width: 100px;
}

.square {
   position: absolute;
   height: 40px;
   width: 40px;
}

.square0 {
   left: 5px;
   top: 5px
}

.square1 {
   left: 55px;
   top: 5px
}

.square2 {
   left: 5px;
   top: 55px
}

.square3 {
   left: 55px;
   top: 55px
}

是否可以将 square0、square1、square2 和 square3 CSS 简化为如下所示?

.square[n] {
   left: calc((n % 2) * 50px + 5px);
   top: calc((n / 2) * 50px + 5px);
}

我意识到 % 运算符是不合法的,但也许有一个等效运算符。

最佳答案

不完全是你期望的语法,但你可以使用 attr:

<div class="square" rel="1"></div>
<div class="square" rel="2"></div>
.square{
   left:calc( attr(rel) / 2 * 50px + 5px);
   top: calc( attr(rel) mod 2 * 50px + 5px);
} 

这可能会成功。

关于html - Calc() 在编号的 CSS 类上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42459175/

相关文章:

emacs - 使用 emacs 中的组织模式表使用 calc 转换单位

javascript - jquery从不同页面调用按钮

html - 将 <div> 附加到所有具有 x 类的 <div>,除了

html - 如何使选项卡索引适用于下拉菜单?

javascript - 试图用 jQuery 隐藏()一个元素

css - 是否可以使用 CSS calc() 来计算宽度/高度比?

html - 为什么我的 <h1> 消失了?

javascript - 如何让文本在 x 时间后改变颜色

html - 文本后面的简单 css 框不换行

css - Margin Top 100% - Parent Div 的高度