升级指南

从 v2.4.x 迁移

将 AdminLTE v2.4.x 迁移到 v3.0 的第一步是将 Bootstrap 3 基本代码升级至 Bootstrap 4,完整说明在此升级基本代码后,你需要更新标记。

CSS/JS 文件

由于 AdminLTE v3.0 Bootstrap 4 完全包含在 AdminLTE 的 CSS 文件中。你无需加载 Bootstrap CSS 文件 bootstrap(.min).css,但你需要 Bootstrap JS 文件 bootstrap(.min).js

主标题栏

主标题栏的最大变化是将其徽标移至主侧边栏,且主标题栏现在有颜色的变化,以下是所有变化

  1. 徽标
    • <a href="index2.html" class="logo"> 已移动并重新构建为 .brand-link 位于 .main-sidebar
  2. 标题/导航
    • <header class="main-header"><nav class="navbar navbar-static-top"> 已合并为 <nav class="main-header navbar navbar-expand navbar-white navbar-light">
  3. 侧边栏开关/左导航栏
    • <a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button"><span class="sr-only">Toggle navigation</span></a> 已替换为 <ul class="navbar-nav"><li class="nav-item"><a class="nav-link" data-widget="pushmenu" href="#"><i class="fas fa-bars"></i></a></li></ul>
  4. 右导航栏
    • <div class="navbar-custom-menu"><ul class="nav navbar-nav"> 已合并为 <ul class="navbar-nav ml-auto">
主侧边栏

与上述类似,最大变化是主侧边栏现在包含徽标并且侧边栏现在有颜色变化,以下是所有变化

  1. 主侧边栏颜色
    • <aside class="main-sidebar"> 已替换为 <aside class="main-sidebar sidebar-dark-primary">
  2. 徽标/品牌链接
    • <a href="index3.html" class="brand-link"><img src="dist/img/AdminLTELogo.png" alt="AdminLTE Logo" class="brand-image img-circle elevation-3" style="opacity: .8"><span class="brand-text font-weight-light">AdminLTE 3</span></a> 替换了旧徽标
  3. 侧边栏
    • <section class="sidebar"> 已替换为 <div class="sidebar">
  4. 用户面板
    • <div class="user-panel"><div class="pull-left image"><img src="dist/img/user2-160x160.jpg" class="img-circle" alt="User Image"></div><div class="pull-left info"><p>Alexander Pierce</p><a href="#"><i class="fa fa-circle text-success"></i> Online</a></div></div> 已替换为 <div class="user-panel mt-3 pb-3 mb-3 d-flex"><div class="image"><img src="dist/img/user2-160x160.jpg" class="img-circle elevation-2" alt="User Image"></div><div class="info"><a href="#" class="d-block">Alexander Pierce</a></div></div>
  5. 侧边栏菜单
    • <nav class="mt-2"> 现在位于 <ul class="sidebar-menu" data-widget="tree">
    • <ul class="sidebar-menu" data-widget="tree"> 已替换为 <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu">
    • <li class="header"> 已替换为 <li class="nav-header">
    • <li>需要一个新的类 .nav-item
    • <li> <a>需要一个新的类 .nav-link
    • <li> <a> <i>需要一个新的类 .nav-icon
    • <li> <a> <span>替换为 <p>
    • <span class="pull-right-container">已删除
    • <i class="fa fa-angle-left pull-right"></i>替换为 <i class="right fas fa-angle-left"></i>
    • <small class="label pull-right bg-green">new</small>替换为 <span class="right badge badge-danger">New</span>
    • <li> <ul class="treeview-menu">替换为 <ul class="nav nav-treeview">

旧示例条目

<li>
  <a href="pages/widgets.html">
    <i class="fa fa-th"></i> <span>Widgets</span>
    <span class="pull-right-container">
      <small class="label pull-right bg-green">new</small>
    </span>
  </a>
</li>

新示例条目

<li class="nav-item">
  <a href="pages/widgets.html" class="nav-link">
    <i class="nav-icon fas fa-th"></i>
    <p>
      Widgets
      <span class="right badge badge-danger">New</span>
    </p>
  </a>
</li>

旧示例条目(带树形菜单)

<li class="treeview">
  <a href="#">
    <i class="fa fa-dashboard"></i> <span>Dashboard</span>
    <span class="pull-right-container">
      <i class="fa fa-angle-left pull-right"></i>
    </span>
  </a>
  <ul class="treeview-menu">
    <li class="active"><a href="index.html"><i class="fa fa-circle-o"></i> Dashboard v1</a></li>
  </ul>
</li>

新示例条目(带树形菜单)

<li class="nav-item has-treeview">
  <a href="#" class="nav-link">
    <i class="nav-icon fas fa-tachometer-alt"></i>
    <p>
      Dashboard
      <i class="right fas fa-angle-left"></i>
    </p>
  </a>
  <ul class="nav nav-treeview">
    <li class="nav-item">
      <a href="index.html" class="nav-link active">
        <i class="far fa-circle nav-icon"></i>
        <p>Dashboard v1</p>
      </a>
    </li>
  </ul>
</li>
内容标题

内容标题中最大的更改是AdminLTE现在在此处使用 .container-fluid.row.col-*,且面包屑标记已更改,以下是所有更改

  • <section class="content-header">替换为 <div class="content-header">
  • <div class="container-fluid">已添加到 <div class="content-header">
  • <h1><ol class="breadcrumb"><div class="row"><div class="col-sm-6">中重建
  • <h1>替换为 <h1 class="m-0 text-dark">
  • <ol class="breadcrumb">需要新类 .float-sm-right
  • <ol class="breadcrumb"> <li>需要新类 .breadcrumb-item

旧的内容标题标记

<section class="content-header">
  <h1>
    Dashboard
    <small>Control panel</small>
  </h1>
  <ol class="breadcrumb">
    <li><a href="#"><i class="fa fa-dashboard"></i> Home</a></li>
    <li class="active">Dashboard</li>
  </ol>
</section>

新的内容标题标记

<div class="content-header">
  <div class="container-fluid">
    <div class="row mb-2">
      <div class="col-sm-6">
        <h1 class="m-0 text-dark">
          Dashboard
          <small>Control panel</small>
        </h1>
      </div>
      <div class="col-sm-6">
        <ol class="breadcrumb float-sm-right">
          <li class="breadcrumb-item"><a href="#">Home</a></li>
          <li class="breadcrumb-item active">Dashboard v1</li>
        </ol>
      </div>
    </div>
  </div>
</div>
内容

内容没有更改,我们仅将 <section class="content container-fluid">拆分为两个元素

  • <section class="content">
  • <div class="container-fluid">
页脚

页脚仅对右侧 div 进行了少量更改。

  • <div class="pull-right hidden-xs">更改为 <div class="float-right d-none d-sm-inline">
其他

这里还有一些自 v3.0 以来其他的一些小 CSS/HTML 更改

  • .label更名为 .badge
JavaScript 插件

这里还有一些自 v3.0 以来其他的一些小 JavaScript 更改

  • data-toggle="*"更名为 data-widget="*"而不是 CardWidget 项
    • 对于 CardWidget,现在为 data-card-widget="*"