CSS - изменить положение абсолютно слева направо в IE - PullRequest
1 голос
/ 09 марта 2010

Как мне переопределить это объявление?

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 ]

5 голосов
/ 09 марта 2010

Это одна из проблем с CSS: как «снять» этот звонок после того, как установлен определенный тип правила?

Предполагая, что ваш div не находится в контейнере, для которого уже не установлено левое значение , вы можете попробовать это:

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

Обратите внимание, что вы могли бы избежать некоторых проблем, не объявляя div.someClass в первую очередь. Дополнительный элемент в селекторе - это просто лишний вес. Если бы ваш селектор был .someClass, вы могли бы переопределить его, просто добавив div.someClass.

3 голосов
/ 09 марта 2010

Вы имеете в виду, что хотите, чтобы div "myID" не подчинялся этому правилу, даже если у него есть класс "someClass"? Тогда вы просто поместите это после вашего правила ".someClass":

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

(«Важно!» Может и не понадобиться; попробуйте его с этим и без него, а если оно работает без него, оставьте его выключенным.)

Если вы хотите, чтобы все <div> элементы с классом "someClass" появлялись внутри a <div> с "id", "myId", то ваш селектор в порядке, но попробуйте "! важный "суффикс".

Вот пример, показывающий, что настройка «влево» на «Авто» определенно работает: http://gutfullofbeer.net/leftright.html

0 голосов
/ 09 января 2013

вы можете переопределить ни к чему (по крайней мере, с помощью JavaScript):

 divObject.style.left = "";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...