Неправильный формат RTL в HTML - переопределение CSS не работает - PullRequest
1 голос
/ 03 января 2012

каким-то образом переопределения CSS (left | right) в dir = "rtl", похоже, не работают.

Для проверки - в Chrome / Firebug: только при отключении атрибута «left» переопределяющий стиль «left» (под .dir_rtl #main_search_wrapper) начинает влиять на фактический макет.

Похоже на обычную ошибку браузера?

Вот живой пример кода ниже: http://jsfiddle.net/DwRLz/

<html>

<head>
 <style>
   #main_search_wrapper {
       display: inline-block;
       position: absolute;
       right: 0;
   } 

   .dir_rtl #main_search_wrapper {
       left: 0;               /* <-- This should override the above style */
   }
 </style>
</head>

<body class="dir_rtl" dir="rtl">
  <div id="main_search_wrapper" style="display: inline-block;">
    This should be aligned to the left.
  </div>
</body>

</html>

Спасибо

1 Ответ

5 голосов
/ 03 января 2012

left не обязательно отменяет right, он будет использовать оба свойства, в основном устанавливая их так:

.dir_rtl #main_search_wrapper {
   right: 0;
   left: 0;  /* <-- This wont override the above style */
}

Попробуйте это:

.dir_rtl #main_search_wrapper {
    right: 0; 
    right: auto;   /* <-- This will override the above style for "right" */
}
...