2015-09-01 3 views
5

После большого чтения и поиск SO темы, я почти у моего Popovers работаю, как я хочу, чтобы они на разных языках - для следующего выпуска, за исключением:поповера ширина проблема между литровыми и РТЛИ языками

У меня есть разница в ширина моего bootstrap 3 popovers между языками ltr (английский, французский, немецкий и т. д.) и языки rtl (арабский, иврит и т. д.).

В моей литровых охват языков ширина пирог только так широко, как это должно быть - с макс-шириной 600px ;, как показано ниже:

enter image description here

В моих языках РТЛ, ширина пирог является макс-ширина 600px вместо ширины будучи только так широко, как это должно быть, как показано ниже:

enter image description here

Я не уверен, почему это происходит. Я прочитал много, много сообщений SO и искал google широко, но я не могу решить эту проблему.

Может ли кто-нибудь указать, почему существует различие в ширинах между моими листами ввода-вывода и rtl? Я хочу сделать rtl popover настолько широким, насколько это необходимо. Это может быть простое исправление, но я просто не вижу проблемы.

Эти два снимка экрана показывают одну и ту же информацию (из базы данных), просто используя разные файлы CSS в зависимости от языка rtl/ltr.

Вот мой л код CSS:

.popover { 
    direction: ltr; 
    position: fixed; 
    word-break: normal; 
    word-wrap: break-word; 
    z-index: 9999; 
    background-color: lavender; 
} 

.popover.right { 
    background-color: blueviolet; 
    margin-left: 17px; 
    max-width: 600px; 
} 

.popover.left { 
    background-color: gold; 
    margin-right: 0px; 
    min-width: 375px; 
} 

Вот РТЛ код CSS:

.popover { 
    direction: rtl; 
    position: fixed; 
    word-break: normal; 
    word-wrap: break-word; 
    z-index: 9999; 
    background-color: khaki; 
} 

.popover.right { 
    background-color: indianred; 
    margin-left: 17px; 
    min-width: 375px; 
} 

.popover.left { 
    background-color: lightsteelblue; 
    margin-left: -17px; 
    max-width: 600px; 
} 
+0

Можете ли вы воспроизвести проблему демо? http://stackoverflow.com/help/mcve –

+0

Manoj Kumar - повторение проблемы затруднено, так как языковое направление страницы/сайта отличается - jsfiddle этого не позволяет. – user1261774

ответ

3

После проверки класса CSS .popover в бутстраповском-rtl.min .css и меняя разные значения, мне удалось определить причину этой проблемы.

В .popover CSS класса начальной загрузки-rtl.min.css есть значение:

.popover { 
    .... 
    right: 0; 
    .... 
} 

Вот описание этого right css property.

Если изменить вышеуказанное значение к следующему, проблема решена:

.popover { 
    .... 
    right: 1; 
    .... 
} 

Вопрос относительно пирог отображаются только так широко, как это должно быть (с макс-шириной 600 пикселей) для язык rtl решается.

Я надеюсь, что это поможет кому-то.

+0

Значение 'right: 1' недопустимо css-значение, должно использовать это:' right: auto! Important; ', и поэтому для лучшей стрелки show можно использовать это:' .popover> .arrow, .popover> .arrow :: после {left: 0;} ' –