在laravel中运行特定部分页面的特定css而不覆盖页面其他部分的css?

问题描述 投票:1回答:3

让我们详细说明我的问题。认为我们有3个模板文件1.Master 2.Child(home)3.navbar布局(包含在家中)

Mater->首页 - >导航栏

我有2个外部css文件,有这个CSS

p
{
color:red;
}

p
{
color:blue;
}

第一个css文件在master.blade.php中链接,第二个css文件链接到navbar.blade.php

我希望navbar的文本颜色为蓝色,而home(除了navbar)的文本颜色为红色。

现在输出为蓝色(覆盖在master中声明的css)。

我不想修改css(特异性),是否有类似css范围的laravel。

php css laravel laravel-blade
3个回答
3
投票

你熟悉blade into laravel吗?

我认为你应该在你的主人中定义一个屈服部分

@yield('css')

然后在导航栏或其他地方调用它......就像这样

 @section('css')
     p
     {
      color:red;
     }
    @endsection

和其他文件

 @section('css')
 p
 {
  color:blue;
 }
@endsection

1
投票

为什么不检查当前路由,然后在刀片文件中内联样式属性中的颜色:

@if(request()->is('/'))
    <!-- Homepage -->
    <p style="color:red">Hello</p>
@else
    <!-- All Other Pages -->
    <p style="color:blue">Hello</p>
@endif

要么

<p style="color:{{ request()->is('/') ? 'red' : 'blue' }}">Hello</p>

1
投票

你为什么不直接为不同的段落块分配ID并以这种方式定位?或者甚至更好,为每种颜色创建一个实用程序类。

.text-red {
   color: red;
}

然后...

<p class="text-red">Lorem ipsum[...]</p>
© www.soinside.com 2019 - 2024. All rights reserved.