任性的硬币 · 鉴赏|古罗马“绝美之境”:再看诸神光芒_古代 ...· 3 月前 · |
打盹的刺猬 · 【10.19】超级市场乐队Supermark ...· 1 年前 · |
犯傻的绿茶 · 解决frontpage.exe弹窗_五更依旧 ...· 1 年前 · |
我将计算一些元素中的宽度,从百分比到像素,所以我将通过使用 减 和 calc() 来减去-10px。有可能吗?
div {
span {
width:calc(100% - 10px);
}
我使用CSS3
calc()
,所以它无法工作:
calc(100% - 10px)
宽度示例: if 100% = 500px so = 490px (500-10);
我制作了一个用于测试的演示: http://jsfiddle.net/4DujZ/55/
所以当我调整大小时,padding会一直显示:5 (10px / 2)。
我可以在LESS中完成吗?我知道如何在jQuery和简单的CSS,如边距填充或其他…但我将尝试使用
calc()
在LESS中实现函数式功能
或者,您可以使用类似于下面这样的空白区属性:
{
background:#222;
width:100%;
height:100px;
margin-left: 10px;
margin-right: 10px;
display:block;
}
我想
width: -moz-calc(25% - 1em);
就是你要找的。您可能希望查看此
Link
以获得任何进一步的帮助
您可以对
calc
参数进行转义,以防止它们在编译时被计算。
使用您的示例,您可以简单地将参数括起来,如下所示:
calc(~'100% - 10px')
演示: http://jsfiddle.net/c5aq20b6/
我发现我通过以下三种方式之一来使用它:
基本转义
calc
参数中的所有内容都被定义为字符串,并且在客户端对其求值之前是完全静态的:
更少的输入
div {
> span {
width: calc(~'100% - 10px');
}
CSS输出
div > span {
width: calc(100% - 10px);
}
变量的插值
您可以在字符串中插入一个较小的变量:
更少的输入
div {
> span {
@pad: 10px;
width: calc(~'100% - @{pad}');
}
CSS输出
div > span {
width: calc(100% - 10px);
}
混合转义和编译的值
您可能想要转义一个百分比值,但是可以继续并在编译时计算一些值:
更少的输入
@btnWidth: 40px;
div {
> span {
@pad: 10px;