YVW
@YVW

Уникальный CSS для каждой страницы?

3240d7bb18564933b26125d731b62237.png
Такая ситуация:
имеется главная страница index.html, на которой расположены ссылки на link1.html, link2.html, link3.html.
На каждой странице есть контейнер, который сменяется посредством ajax в зависимости от открытой страницы.
Проблема в том, что каждую страницу необходимо кастомтизировать: менять цвета фона, хэдера и футдера, а код head, body, header, footer расположены только на index.html.

Вопрос — как прописать уникальный css для каждой страницы?
Знаю, что метода писать на каждом link1.html, link2.html, link3.html
код <style>...</style> считается неправильной и грязной, хотя она и успешно работает.
Я не очень сильна в коде, поэтому прошу вашей помощи.

На всякий случай привожу сам скрипт
<script>
        function get_content(adress) {
            $.ajax({
                url: adress,
                success: function(data) {
                    $('#page_content').html(data);
                },
                error: function() {
                    alert("Ошибка! Страница недоступна");
                }
            });
        }

    </script>
  • Вопрос задан
  • 372 просмотра
Пригласить эксперта
Ответы на вопрос 3
файл css должен быть один, каждой странице свой класс пропишите, в body например и через короткий каскад кастомизируйте.
Ответ написан
Per_Ardua
@Per_Ardua
Frontend developer
Если есть доступ к серверной стороне, то подставлять переменную в link:

<?php
    $split_uri = split("/", $_SERVER["REQUEST_URI"]);
    $page_name = $split_uri[count($split_uri) - 1];
    // Модифицируешь имя как нужно и...
    $css_name = $page_name;
?>


<!Doctype html>
<html>
    <head>
        <link href="/css/<?=$css_name?>" rel="stylesheet"/>
    </head>

    <body>
    </body>
</html>
Ответ написан
Комментировать
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
Знаю, что метода писать на каждом link1.html, link2.html, link3.html
код считается неправильной и грязной, хотя она и успешно работает.

Кто Вам такое сказал? Это не правильно с точки зрения минимизации кода. Но в Вашем случае это оправдано. Вынесете общий в 1 css файл. И переопределяете ряд параметров в style внутри страницы.
Так же можно задать class для body, написать 1 css и в js менять class у body.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы