问题
Is there a way to set the height/width CSS properties to something like that: 100% - 50px So if the total 100% is 1000px, then the end result would be 950px. And the 100% is set by the browser size.
UPDATE: What I'm trying to do is:
I have two div, the first div's height is 50px, I would like the second div's height to cover the remaining space.
回答1:
There is a solution in css3, and I also actually think it has been supported in IE for sometime.
Example:
width: -moz-calc(25% - 1em);
See http://hacks.mozilla.org/2010/06/css3-calc/
回答2:
After search though the net, I realized that it can't be done.
The only way to simulate is to adjust it with JavaScript and onresize
event.
回答3:
Not with width itself.
You have to set either the margins and / or the paddings left and right to a total of 50px.
回答4:
If you want this for the whole page:
body { margin: 0; padding: 25px; }
That will give you a padding at the top and the bottom also. If you don't want that you can set them to zero:
body { margin: 0; padding: 0 25px; }
Note: Most browsers use a default margin for the body, but some (Opera) use a default padding instead, so you should always specify both the margin and padding for the body.
回答5:
In the second div set
top=50px,
bottom=0
position=absolute
http://jsfiddle.net/4TG2Z/
No javascript needed.
来源:https://stackoverflow.com/questions/1961200/css-width-height-pixel-and-percentage-calculation-combintaion