首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AdminLTE主题:与同事的小分歧(软技能)

AdminLTE主题:与同事的小分歧(软技能)
EN

Stack Overflow用户
提问于 2020-04-02 03:06:34
回答 1查看 627关注 0票数 0

我有一个关于在我们的系统中执行一个小改变的快速问题,我想听听你对我与我们公司的另一个开发人员的小分歧的意见。

我们的工作环境:

  • 拉勒维尔
  • AdminLTE
  • 两名“合伙人”和“工作人员”的拉拉守卫。每种类型的用户(合作伙伴/工作人员)都可以使用不同的控制器集和不同的子域访问不同的页面集。

Admin附带了一些皮肤,您可以应用到您的<body>,例如‘皮肤-蓝色’主题。这就是我们页面的样子。只是为了比较,如果您删除‘皮肤-蓝色’类,我们的网站是这样的

我们的客户要求我们为员工方更换顶部肚脐的颜色。因此,由于当前的颜色是由一个adminLTE皮肤添加的,所以我认为最好为员工端创建第二个主题,称之为“皮肤工作人员”,然后在我们的基本刀片文件中检查使用哪个护卫,并相应地添加类。

代码语言:javascript
复制
<body class="@if(get_guard() === 'partner') skin-blue @else skin-staff @endif" ...>

我复制了原来的皮肤-蓝色文件,把它重命名为皮肤工作人员,只是改变了必要元素的颜色。我认为这是最好的方式去做,但必须审查我的github拉请求的开发人员说,因为这是一个如此小的变化,它没有必要创建一个新的皮肤。他提出的解决方案是简单地将css类添加到刀片文件中,如下所示:

代码语言:javascript
复制
<head>

…

<style type="text/css">
@if (get_guard() === 'staff')
   .skin-blue .main-header .navbar{
       background-color:#bdac3c
   } 
   .skin-blue .main-header .navbar .sidebar-toggle:hover{
        background-color:#ac9b2b
   }
   .skin-blue .main-header .logo{
         background-color:#bdac3c;
   }

   … // and other classes
@endif
</style>

现在,对我来说,这是不正确的,因为我们混淆了工作人员和合作伙伴双方的逻辑,而没有一个明确的方法来区分他们。如果我们使用皮肤,我们可以简单地说“顶部的肚脐是黄色的,因为我们使用的是类皮肤工作人员”。而且“我们使用的是类皮肤- Staff ,因为是我们的工作人员守卫”。这些命题既清晰又简单。但是,通过将原始CSS添加到我们的刀片文件中,我们最终得到了类似于“顶部的导航条是黄色的,因为我们使用的是皮肤-蓝色的,还有我们在员工警卫和上使用的,我们已经为员工警卫添加了一些定制的CSS”。我们给系统带来的额外变化并不遵循adminLTE所使用的模式,对我来说,它们看起来就像噪音。例如,如果我们不得不这样做五次,我们最终会在我们的基本刀片文件中获得大量的CSS,我认为这看起来很糟糕,并将迫使我们最终决定使用adminLTE的皮肤系统,这是我们可以立即做的事情。

但是,尽管我知道自己很固执,但我不知道我是否有正确的想法,或者我是否只想按自己的方式做事。

你们觉得怎么样?创建一个新的外观更好,即使皮肤文件中的大部分CSS代码将被复制,但它允许我们坚持现有的方法,还是更好地将代码添加到刀片文件中,而不考虑它呢?

谢谢你的想法

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-02 03:30:43

这在很大程度上是一个基于意见的问题,这里没有明确的对错答案。

就我个人而言,我同意你的同事的意见,为什么要复制整个主题,那就是几百行长,只是换几个班而已?

也就是说,我个人不喜欢样式标签下的DOM中的样式。

为什么不创建一个包含样式的新CSS文件:

代码语言:javascript
复制
.skin-blue .main-header .navbar{
    background-color:#bdac3c
} 
.skin-blue .main-header .navbar .sidebar-toggle:hover{
    background-color:#ac9b2b
}
.skin-blue .main-header .logo{
    background-color:#bdac3c;
}

… // and other classes

然后,只要您在基本的skin-blue CSS主题之后包含此文件,您更新的员工皮肤更改将优先考虑。

就像这样:

代码语言:javascript
复制
<link rel="stylesheet" href="{{ asset('css/skin-blue.css') }}">
@if (get_guard() === 'staff')
<link rel="stylesheet" href="{{ asset('css/skin-staff.css') }}">
@endif

这使得CSS文件(和DOM之外)中的CSS抽象保持不变,但只覆盖了它所需要的内容。

这还意味着,如果需要在两个主题之间更新公共样式,则不需要在两个不同的文件中进行更改;只需修改skin-blue.css文件即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60983650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档