码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【前端】解决Bootstrap3与Bootstrap4同时使用的CSS冲突问题


    目录

    一、需求背景

    二、解决方案

    1、原理介绍

    2、实施方式

    1)下载bootstrap.css文件

    2)安装node以及less命令

    3)创建LESS文件

    4)引入指定CSS

    3、参考文档


    一、需求背景

    Bootstrap是网络上最流行的 CSS 框架,大多数前端项目都会使用此框架的配置以轻松构建高颜值的前端页面。

    Bootstrap框架发展并不快,就目前而言,2015年发布的Bootstrap4与Bootstrap3依旧是使用最广泛的Bootstrap框架,其次就是2021年新发布的Bootstrap5。

    新的前端项目肯定是优先选择新的版本,但一些已有的老前端项目也会想相互兼容,以达到定向文件使用css的目的。

    直接引用两套bootstrap的css文件会直接冲突,导致某些css失效或异常,这里提供一个解决方案,让指定页面使用能够使用指定bootstrap版本。

    二、解决方案

    1、原理介绍

    bootstrap毕竟只是个css文件,对html来说直接引用即可使用,所以可以对其直接改造。

    但是需要考虑两个问题,第一个就是收益的局限性,改造完成后此配置只能提供给自己使用,所以改造收益不高;第二个就是改造难度,bootstrap.css文件毕竟有这么多行代码,手动去进行更改太浪费时间。

    这里提供一个快速定制bootstrap文件的方案,满足项目需求。

    需要注意的是,这并不是一个最好的解决方案,理论上来说一个项目只应使用一个bootstrap版本即可,自行增加多余的配置文件会加重项目的复杂程度,所以这种方法适用于一些比较古老的项目,不想花太多精力去做改造的项目。

    2、实施方式

    1)下载bootstrap.css文件

    对于使用bootstrap4及以上版本的项目,直接下载bootstrap.css文件到本地即可(此处提供一个下载地址案例:https://cdn.jsdelivr.net/npm/bootstrap@4.1.3/dist/css/bootstrap.css)。

    对比使用bootstrap3及以下的项目,可以直接下载,也可以使用定制css文件(Customize and download · Bootstrap)。

    2)安装node以及less命令

    安装node:

    1. #使用linux安装node,示例版本为v14.15.4 已安装可忽略,也可以使用windows
    2. #项目安装包
    3. wget https://nodejs.org/dist/v14.15.4/node-v14.15.4-linux-x64.tar.xz
    4. #解压文件
    5. tar -xvf node-v14.15.4-linux-x64.tar.xz
    6. #安装到usr/local下
    7. mv node-v14.15.4-linux-x64 /usr/local/
    8. #制作软链
    9. ln -s /usr/local/node/bin/node node
    10. ln -s /usr/local/node/bin/node node

    安装less:

    1. npm install less -g
    2. npm i less --save-dev

    3)创建LESS文件

    创建一个名为prefix.less的文件,其中包含以下内容:

    1. .bootstrap-iso {
    2. @import (less) 'bootstrap.css';
    3. }

    编译LESS文件

    /usr/local/node/bin/lessc prefix.less bootstrap-iso.css
    

    4)引入指定CSS

    在需要不同版本的html中加入div,指定css配置即可

    1. <div class="bootstrap-iso">
    2. <!-- Any HTML here will be styled with Bootstrap CSS -->
    3. </div>

    3、参考文档

    1、How to Isolate Bootstrap CSS to Avoid Conflicts (using LESS) | Formden.com

  • 相关阅读:
    MyBatis 插件机制详解
    分布式二级缓存组件实战(Redis+Caffeine实现)
    最小生成树拓展应用之:【令建虚拟点n-->n+1】
    文档信息抽取技术:从非结构化文本到结构化信息的旅程
    C#(四十二)之线程同步、互锁
    git强制删除本地分支 git branch -D
    C语言【微项目19】—大整数字符串乘法器[纯字符串乘法][乘法表与加法表]【2022-11-27】
    MindFusion JavaScript R2 套件 Crack
    xss过滤绕过笔记
    黑马JVM总结(三)
  • 原文地址:https://blog.csdn.net/qq_37822090/article/details/125561567
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号