1、上一篇:http://www.shuijingwanwq.com/2017/11/30/2084/
2、现有的默认界面,如图1
3、设计的UI界面,需要如此实现,如图2
4、复制:/vendor/bower/admin-lte/build/less/variables.less 至:/backend/web/themes/default/css/variables.less,清空其中的所有内容
5、新建:/backend/web/themes/default/css/_all-skins.less,如图3
@admin-lte-path: "../../../../../vendor/bower/admin-lte"; @import "@{admin-lte-path}/build/less/skins/_all-skins.less"; @import "variables.less";
6、新建:/backend/web/themes/default/css/AdminLTE.less,如图4
@admin-lte-path: "../../../../../vendor/bower/admin-lte"; @import "@{admin-lte-path}/build/less/AdminLTE.less"; @import "variables.less";
7、新建:/backend/assets/AdminLte.php,继承至 /common/assets/AdminLte,设置$css为空数组,因为需要设置less变量,重新生成对应的CSS文件,所以默认的CSS文件需要去掉,如图5
namespace backend/assets; class AdminLte extends /common/assets/AdminLte { public $css = [ ]; }
8、基于第5、6步骤,已经自动编译出对应的CSS文件,参考网址:http://www.shuijingwanwq.com/2017/12/07/2108/ ,如图6
9、编辑:/backend/assets/BackendAsset.php,调整该资源包CSS文件的数组,如图7
public $css = [ 'css/AdminLTE.css', 'css/_all-skins.css', 'css/style.css' ];
10、分析侧边栏背景颜色,在 /vendor/bower/admin-lte/dist/css/skins/_all-skins.min.css 中设置的,如图8
11、获取设计UI的侧边栏背景颜色,如图9
12、在 /vendor/bower/admin-lte/build/less/variables.less 中搜索 #222d32,如图10
13、将 @sidebar-dark-bg: #222d32; 复制至 /backend/web/themes/default/css/variables.less,调整为:@sidebar-dark-bg: #293e50;,其他几个变量类似地调整,如图11
14、查看调整后的界面,侧边栏背景颜色、顶栏背景颜色、侧边栏宽度(从230px变化为280px),皆已经发生变化了,且与设计一致,如图12
15、查看源代码,AdminLTE.css、_all-skins.css,已经实现主题化了,如图13
16、除了基于less变量全部重新编译为全新的CSS文件,还有另外一种主题化的方案,便是提取出对应的使用了需要调整的less变量的less代码,仅编译部分需要覆盖的代码,不过此种方案,需要分析源代码,提取是存在一定的难度的了。因此,建议采用全部重新编译的方案。
原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/tech/webdev/180796.html