代码之家  ›  专栏  ›  技术社区  ›  corroded

firefox和chrome的绝对定位问题

  •  21
  • corroded  · 技术社区  · 15 年前

    我不明白为什么FF和Chrome渲染我的页面不同。这是它的一个截图

    firefox example http://grab.by/65Bn

    这里有一个镀铬的

    chrome example http://grab.by/65BB

    fieldset有一个相对位置,图像有一个绝对位置。

    基本结构如下:

    <fieldset class="passenger-info">
      <legend>Passenger 1</legend>
      <div class="remove-me">
        <img src="/images/delete-icon-sm.png" />
      </div>
    </fieldset>
    

    下面是字段集的css:

    .passenger-info {
      background:none repeat scroll 0 0 #F2F2F2;
      border:1px solid #9D240F;
      display:inline;
      float:left;
      margin-bottom:10px;
      margin-right:10px;
      padding:3px 10px;
      position:relative;
      width:350px;
    }
    

    对于“删除我”图像:

    .remove-me {
      border:1px solid red;
      position:absolute;
      right:0;
      top:0;
    }
    

    这篇文章表明FF确实在呈现字段集方面存在问题。

    http://www.codingforums.com/showthread.php?t=132624

    有没有更好的方法在不使用浏览器特定的黑客的情况下进行修复?

    8 回复  |  直到 15 年前
        1
  •  30
  •   djv    11 年前

    我真不敢相信这已经4年了,还没人回答。我到处寻找这个答案。下面是我在一个字段集中对图像使用绝对位置的方法。从这里开始,改变你的右上角位置,让它在Firefox中适合你。(保留你原来的课程,比如IE,Chrome,Safari,Opera)

    @-moz-document url-prefix() { 
      .remove-me {
        border:1px solid red;
        position:absolute;
        right:0;
        top:0;
      }
    }
    

        2
  •  7
  •   js1568    15 年前

    Firefox似乎有一个不可见的填充或边距,将元素放在文本空间的右上角。Chrome将元素放在文本流之外fieldset元素的右上角。

        3
  •  2
  •   Jake Bellacera    15 年前

    .remove me元素可能有边距。确保在向项目添加绝对定位之前将其删除。

    简单重置:

    * { margin: 0; padding: 0px; }
    

        4
  •  2
  •   Nicktea    15 年前

    我使用了@media screen和(-webkit min device pixel-比率:0){}这样就修正了我的绝对性。虽然不太干,但很管用。

        5
  •  1
  •   Arno Inen    10 年前

    我认为这是因为你没有指出包含按钮的div(乘客信息)的高度;当你不指定这个按钮时,Chrome就会开始起作用。

        6
  •  1
  •   Austin Peterson    10 年前

    我可以通过正确设置来解决我的问题。

        7
  •  1
  •   Basant    9 年前

    position: absolute; top: 10px; left: 20px;

        8
  •  -1
  •   jonsca    13 年前

    我有一个类似的问题,在Chrome网站和图片哪里出错。我有一个图像和一个输入框中的位置,就像这篇文章开始时你的例子一样,我通过把绝对位置放在输入框和图像位置的相对坐标中来解决这个问题。