calc() 100% + #px

16

我试图实现一些我甚至不确定是否可能的东西。

我想在我的网站导航下方放置一个特定的阴影PNG图像。然而,我还希望可以重用此功能于网站上的任何对象,无论是图像、div 还是按钮。基本上,使用相同的阴影图像来装饰任何对象。

使用 CSS3 的 calc() 函数,我尝试做到对象的高度@ 100% + 25px(png的高度)。

我已经尝试过的样式:

height: -webkit-calc(100% + 25px); 
height:    -moz-calc(100% + 25px); 
height:      -o-calc(100% + 25px); 

从Firebug中我所了解的是,百分之百 + 25像素成为新的百分之百,这并没有什么作用。

我还尝试过:

height: -webkit-calc(100% + 25px); 
height:    -moz-calc(100% + 25px); 
height:      -o-calc(100% + 25px); 
background-position: 0 -moz-calc(100% + 25px);

但是这也没有好转。

如果我使用calc(3em + 25px);则可以正常工作,但这对于任何对象都不够灵活。

这是可能的吗?我的意思是否清楚?!


'-moz-box-shadow: 0 0 30px 5px #999; -webkit-box-shadow: 0 0 30px 5px #999;' 这样不是更好吗? - TheGeekZn
非常感谢,但这是我用于曲线阴影的特定图像。我已经使用了CSS属性box-shadow,但它并不完全符合我想要的效果。 - user1597713
如果我理解正确,使用'border-top-left-radius: 20px 20px; border-top-right-radius: 20px 20px;'即可创建曲线角。阴影会跟随其后。 - TheGeekZn
1个回答

11

我不是100%确定,但工作草案描述了计算的两侧运算符形成一个子表达式(单一类型)。

由于您将相对值(%)和绝对值(px)结合在一起,可能无法完成计算。

更新: 我进行了小型测试,似乎工作正常。 您确定您在HTML中选择器和位置正确吗? 请检查此示例


1
太好了!非常感谢Damien!通过将阴影div放在Nav元素内,并给Nav元素一个固定的高度,阴影在底部完美显示。还有一些小问题需要解决,但这确实非常好用!非常感谢! - user1597713
3
提醒一下,根据你在第一次使用中使用了100px高度,%与px的测试有缺陷,因为100% + 25%等同于100% + 25px。正确的测试应该使用不同于100px的初始高度。话虽如此,将fiddle中的高度更改为300px确实证明了测试按预期工作。 - TobyG
以上是有关程序的内容,问题在于它会自动选择第一个参数的度量单位,所以在这种情况下它运算了 (100% + 25px = 125px),这只是碰巧与 100% + 25px 得到了相同的结果。在不同的高度上,它可能不起作用。 - MintWelsh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接