前提・実現したいこと
laravelには、継承という便利な技がありますが、
layoutを継承したある特定なページだけの背景色を変えたい場合はどうすればよろしいでしょうか?
継承させないで書き直す以外の方法があれば教えてください。
継承先
@extends('frontend.layouts.app') @section('title', $user->name.'さんのマイページ') @section('content')
継承元
A:layouts app.blade.php <!DOCTYPE html> <html lang="{{ app()->getLocale() }}"> <head> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-'); </script> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- CSRF Token --> <meta name="csrf-token" content="{{ csrf_token() }}"> <title>@yield('title', config('app.name', 'Laravel'))</title> <!-- Styles --> <link href="{{ asset('css/app.css') }}" rel="stylesheet"> @yield('css') </head> <body> <div id="app"> <nav class="navbar navbar-expand-md navbar-light navbar-laravel"> 略 </nav> <main class="py-4"> 略 @yield('content') 略 </main> <footer> 略 </footer> </div> <!-- Scripts --> <script src="{{ asset('js/app.js') }}"></script> @yield('scripts') </body> </html>
長いため、一部略しました。
継承先のページのCSSのみを独自に設定するには、どういったコードを入力したらよろしいでしょうか。
bladeのテンプレートのことですか?もう少し具体的に質問を書き直してください。あとソースコードも載せてください。
A:layouts app.blade.php <!DOCTYPE html> <html lang="{{ app()->getLocale() }}"> <head> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-'); </script> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- CSRF Token --> <meta name="csrf-token" content="{{ csrf_token() }}"> <title>@yield('title', config('app.name', 'Laravel'))</title> <!-- Styles --> <link href="{{ asset('css/app.css') }}" rel="stylesheet"> @yield('css') </head> <body> <div id="app"> <nav class="navbar navbar-expand-md navbar-light navbar-laravel"> 略 </nav> <main class="py-4"> 略 @yield('content') 略 </main> <footer> 略 </footer> </div> <!-- Scripts --> <script src="{{ asset('js/app.js') }}"></script> @yield('scripts') </body> </html> B.my_page.blade.php @extends('frontend.layouts.app') @section('title', $user->name.'さんのマイページ') @section('content') <div class="mb-3" id="userShow"> @include('frontend.user.show') </div> <div class="mb-3" id="callLogsShow"> @include('frontend.call_logs.show') </div> <div class="mb-3" id="pointLogsShow"> @include('frontend.point_logs.show') </div> @endsection cssで、bodyの background-color: #fff;になっているのですが、 Bのページだけ、背景色を変えたいという意味です。 長いため、一部略しました。

回答2件
あなたの回答
tips
プレビュー