宽高不定的元素,以中心为原点百分比定位~
![autoWidthHeightElementPercentagePositionBaseOnTheCenter1](http://blog.idea5.org/wp-content/uploads/2011/04/autoWidthHeightElementPercentagePositionBaseOnTheCenter11-1024x268.png)
为此我这样预想设定css:
- 元素本身的宽高应该是auto自计算的;
- 元素应该可以自己定义定位原点,比如几何中心;
- 元素定位应该是比例式的,比如应用黄金比例;
实际上元素自身宽高的自计算在上篇文章《宽度不定的元素居中~》中稍微探讨了下这个问题:
- width:auto; height:auto;
- 偏移基于元素自身:margin:-50% 50% 50% -50%;
- top:36.8%;let:50%;
依照经典的定宽高居中方法:top:50%;left:50%;margin:-一半高 0 0 一般宽;类比而得不定宽高的元素偏移应该是margin:-50% 0 0 -50%;不过可惜的是,在《相对定位里的百分比小议》里也谈及过,marigin和padding的百分比是基于父宽的,这的确很奇怪,不过是事实,于是我们能用的只能是top|bottom了,于是就得增加一个容器,没错,传统盒模型似乎只能这样,于是得到如下代码:
- position:relative,static:基于父容器宽100%计算,即宽度尽可能大,但高度则尽可能小;
- position:absolute||float:left|right:||display:inline-block基于子元素宽度计算,即宽度尽可能小,高度依然是尽可能小;
我以几何中心为原点百分比定位了~
我以几何中心为原点百分比定位了~
我以几何中心为原点百分比定位了~