2014-09-12 2 views
0

У меня есть сайт с несколькими языками, где весь текст для сайта загружается на основе переменной сеанса PHP для каждого языка. Моя проблема заключается в том, что когда текст загружен на немецкий язык, панель меню в верхней части моей страницы становится слишком длинной для ее контейнера, а некоторые пункты меню опускаются ниже. Это было бы хорошо, но элементы меню, которые выпадают, блокируют подменю из выбранного.Запросы CSS Media на основе переменной PHP

Есть ли способ использовать css-медиа-запросы для уменьшения размера шрифта моего меню, когда выбрана определенная переменная?

ответ

1

Там нет таких средств массовой информации запроса, но то, что вы можете сделать:

  1. проверка если язык сессии является немецкий
  2. Если нет, то ничего не делать больше, чем вы в данный момент
  3. Если да, загрузите один дополнительный файл CSS или Дополнительное правило, где вы определили размер шрифта, например, таким образом:
nav ul li { 
    font-size: 10px; 
    font-size: 0.8rem; 
} 

Это ничего не изменит для другого языка и немецкого языка вы можете определить пользовательские CSS (font-size или конечно что-нибудь еще)

4

Лучший способ добавить класс CSS к телу на основе языка, например <body class="language-german">, а затем писать правила CSS на основе этого

body.lang-german nav {font-size: 12px;} 
0

Сделайте свой файл CSS файлом PHP. Да, вы можете это сделать, это не волшебство.

Предположим, у вас есть файл CSS под названием style.css: переименовать его style.css.php (.css необязателен)

<?php 
$lang = $_SESSION['page_lang']; //or however you prefer 

if($lang == 'de'){ 
    echo "german style rules"; 
} else { 
    echo "other style rules"; 
} 

это, конечно, упрощается, но должно заставить вас идти.