【问题标题】:obtain height to position a div in absolute mode获取高度以在绝对模式下定位 div
【发布时间】:2010-10-30 17:43:11
【问题描述】:

因为我的最后一个问题立即得到了回答.. 我决定发布一个新的问题,它把我所有的头发都拿走了,XD

这就是问题..

我有一个绝对定位的 div 的设计......它有一个透明的 png 和一个简单的锚......就像这样。

<div class="buyfloat">
      <img src="img/buy.png" />
</div>

所以..我需要这个 div.buyfloat 定位在绝对位置...不要四处移动..不跳跃不褪色..我只需要距离页面最底部 200px 的位置...因为我需要它就在我的页脚顶部..随着页面高度的增加或减少..我不能使用顶部选择器。

好吧..“使用底部!”你可能会说..是的先生我试过..但出于某种原因..底部选择器使用窗口高度(可见部分)而不是整个东西..如果我向下滚动页面..图像是就在页面中间。

.buyfloat{
    width:333px;
    height:135px;
    position:absolute;
    left:10px;
    bottom:200px; /**   not working         **/
    margin:5px auto 0 auto;
    z-index:99;
}

我正在寻找一些 javascript(我想我前一段时间看过一个),它可以让我在 css 上显示正确的身高。但如果您有任何不同且更简单的解决方案..我全神贯注!

提前致谢。

【问题讨论】:

    标签: javascript css html height css-position


    【解决方案1】:

    请记住,“位置:绝对”实际上是相对于位置值不是“静态”的元素的第一个祖先(参见http://www.w3.org/TR/CSS2/visudet.html#containing-block-details 中的第 4 点)。所以也许你有这种情况,“底部”是从其他元素而不是 html/body 测量的。

    【讨论】:

    • 这是一个非“静态”的位置值(并不是说我知道任何浏览器中的任何元素都不使用它作为默认值)
    • 谢谢,刚刚通过 CSS 规范确认
    • 是的!你是对的..添加位置:相对于身体为我解决了这个问题!非常感谢。
    【解决方案2】:

    首先,JS 在 CSS 中工作的唯一方式是通过“表达式”,它仅适用于 IE,其次,这需要您的用户也打开 JS。

    pos:abs 将元素从正常布局中移除,并相对于最近的绝对或相对父元素放置它。如果您使用的是严格的或过渡的 xhtml,如果您也将 body 设为相对,bottom 绝对可以工作:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
        <head>
            <style>
            body {height: 9000px;position:relative;}
            #a {position:absolute; bottom:0px;}
            </style>
        </head>
        <body>
        <div id="a">bottomDweller</div>
        </body>
    </html>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-25
      • 2015-07-22
      • 1970-01-01
      • 2012-07-08
      • 2012-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多