Chupachar
@Chupachar
front-end dev

Как подкрасить 2 блока в разные цвета по всей ширине в дочернем Blade-шаблоне?

Всем привет. У меня возник вопрос относительно верстки в blade-шаблонах. Есть два компонента родительский app и дочерний about:
//app.blade.php
<div class="@if(request()->is('About')) about-content @endif">
  <div class="container">
    @yield('content')
  </div>
</div>

//About.blade.php
@extends('app')
@section('content')
<div class="pt-5 pb-5">
  <h2>ABOUT US</h2>
  ...
</div>

<div class="pb-5">
  <h2>MANAGEMENT PHILOSOPHY</h2>
  ...
</div>

@endsection

.about-content {
    background: #FFF;
}

В шаблоне about весь фон страницы имеет белый цвет благодаря классу about-content. В ходе работы мне потребовалось подкрасить в другой цвет второй нижний блок:
<div class="pb-5 management-content" 
  <h2>MANAGEMENT PHILOSOPHY</h2>
  ...
</div>

сделать по типу:
.management-content {
    background: red;
}

Например через ::before подсвечивать этот блок другим цветом, даже за пределами контейнера по всей ширине, мне кажется, не совсем удачным решением. Как это можно реализовать, я так и не понял, поскольку весь контент страницы находится в @yield('content'), где уже размещены два блока. Может быть, существуют какие-то magic алиасы в Laravel, с помощью которых можно найти обходные пути, или же следует пересмотреть логику верстки.
  • Вопрос задан
  • 67 просмотров
Решения вопроса 2
Chupachar
@Chupachar Автор вопроса
front-end dev
Проблема решена, изменил структуру HTML.
Ответ написан
Комментировать
delphinpro
@delphinpro Куратор тега CSS
frontend developer
Я бы не делал общий контейнер

<!-- лэйаут -->
<div @class(['about-content' => request()->is('About')])>
    @yield('content')
</div>

<!--Дочерний-->
<div class="pb-5 management-content">
  <div class="container">
    <h2>MANAGEMENT PHILOSOPHY</h2>
    ...
  </div>
</div>


Ну и понятно, к ларавел это никак не относится.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы