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

时间:2018-05-06 08:25:41

标签: php css laravel laravel-blade

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

Mater->主页 - >导航栏

我有2个具有此css的外部css文件

p
{
color:red;
}

p
{
color:blue;
}

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

我希望导航栏的文字颜色为蓝色,而家居(导航栏除外)的文字颜色为红色。

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

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

3 个答案:

答案 0 :(得分:3)

您熟悉blade into laravel吗?

我认为你应该在主人

中定义一个屈服部分
$array = [
     ['id' => 1, 'product_id' => 4, 'product_number' => 10, 'moving_type' => 1],
     ['id' => 1, 'product_id' => 5, 'product_number' => 10, 'moving_type' => 1],
     ['id' => 1, 'product_id' => 5, 'product_number' => 2, 'moving_type' => 2]
];

foreach ($array as $row) {
    if (!isset($result[$row['product_id']])) {
        $result[$row['product_id']] = array_slice($row, 0, 3, true);
    } else {
        $result[$row['product_id']]['product_number'] += ($row['moving_type'] == 1 ? 1 : -1) * $row['product_number'];
    }
}

var_export(array_values($result));

然后在你的导航栏等中调用它......就像这样

array (
  0 => 
  array (
    'id' => 1,
    'product_id' => 4,
    'product_number' => 10,
  ),
  1 => 
  array (
    'id' => 1,
    'product_id' => 5,
    'product_number' => 8,
  ),
)

和其他文件

@yield('css')

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:1)

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

.text-red {
   color: red;
}

然后......

<p class="text-red">Lorem ipsum[...]</p>