绝对定位跨度收缩

时间:2011-07-07 04:47:59

标签: css

我有一个无序的输入列表,如果有错误,我希望错误显示在标签的左侧。

每个LI相对定位,span.error绝对定位。当我设置span.error的正确位置时 指出跨度缩小。

这是两个小提琴手。

第一个位置权限设置为0(这是我希望显示错误消息的方式,但是在标签的右侧)。

http://jsfiddle.net/meander365/vmXHV/1/

第二个,位置设置正确(span.error缩小的地方)

http://jsfiddle.net/meander365/vmXHV/2/

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

默认情况下绝对定位的元素崩溃,除非您为其定义任何转移,否则不会克服浏览器的重力,即指定顶部,右侧,底部或左侧属性的值。

我看到了两个例子。由于您没有为跨度指定任何宽度,因此会缩小。指定宽度,你明白我的意思。

一般来说,请考虑这些绝对定位的情况:

  1. 如果您未指定宽度或高度,但指定了两个方向上的元素移位,则元素会拉伸以填充可用空间。例如,当您在宽度为position: absolute; left: 40px; right: 30px;的父div中指定800px时,绝对定位元素的宽度将变为800px - 40px(左) - 30px(右)= 720px。
  2. 如果绝对定位元素的指定宽度或高度值,元素移位不会拉伸元素。只有转移它。
  3. 如果您有预定义的宽度或高度值,其中一种集中技术是绝对定位。

    #centered 
    {
        width: 50px;
        height: 50px;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
    }