CSS - 在IE中从左到右改变位置

时间:2010-03-09 13:41:07

标签: css

如何覆盖此声明?

div.someClass {position:absolute; left:10px; top:20px}

我想要这个

div.myClass div.someClass  {position:absolute; RIGHT:10px; top:20px; left:auto;}

你可以说,如果我设置 left:auto; 它应该可以工作,但它在IE6中不起作用, 我没有检查IE7,IE8中发生了什么。

如何仅使用CSS更改位置?

3 个答案:

答案 0 :(得分:5)

这是CSS的问题之一:一旦设定了某种类型的规则,你如何“解开”那个铃?

假设你的div不在一个没有设置左值的容器,你可以试试这个:

div#myId div.someClass {
  left: inherit;
  right: 10px;
  /* etc. */
}

请注意,您可以通过不首先声明div.someClass来省去一些麻烦。选择器中的额外元素只是不必要的重量。如果您的选择器是.someClass,您可以仅通过添加div.someClass来覆盖它。

答案 1 :(得分:3)

你的意思是你希望“myID”div为而不是遵守该规则,即使它有类“someClass”?然后你只需将放在之后的“.someClass”规则中:

div#myId { right: 10px; left: auto !important; }

(“!important”可能没有必要;尝试使用和不使用它,如果没有它就可以使用,然后将其关闭。)

如果您的意思是希望所有<div>元素与“someClass”类在 中出现<{1}}且“id”为“myId”,那么您的选择器就可以了但请尝试“!important”后缀。

以下示例显示将“left”设置为auto肯定有效:http://gutfullofbeer.net/leftright.html

答案 2 :(得分:0)

你可以覆盖到任何东西(至少用javascript):

 divObject.style.left = "";