bootstrap中导航、导航栏、表单及自定义表单

导航:

bootstrap中使用列表封装了水平导航,其类样式如:

类名描述
.nav给ul或ol,用于清除列表默认样式,并将列表项水平排列
.nav-item给li,用于布局
.nav-link给li里面的a,用于a布局
.justify-content-center用于居中ul或ol(使位于屏幕中间)
.justify-content-end用于靠右ul或ol(使位于屏幕右侧)
.flex-column给ul 或 ol,使垂直排列
.nav-tabs选项卡式布局,对选中的项添加active类来进行标记
.nav-pills胶囊导航,使有active的选项背景成蓝色
.nav-justified使导航的每一项都各自等宽
data-toggle=“tab”实现选项卡切换功能,给链接(a标签)添加,链接中的href指向tab-content中的锚点值;此属性后面的值若是 pill则表示样式为胶囊型
.tab-pane控制选项卡内容隐藏,给具体的内容
.nav-tabs实现选项卡中导航样式
<!-- 导航、选项卡导航部分: -->
<ul class="nav nav-tabs nav-pills nav-justified">
    <!--a标签href属性值指向下面内容锚点值-->
    <li class="nav-item"><a href="#cont1" class="nav-link active" data-toggle="tab">1</a></li>
    <li class="nav-item"><a href="#cont2" class="nav-link" data-toggle="tab">12</a></li>
    <li class="nav-item"><a href="#cont3" class="nav-link" data-toggle="pill">123</a></li>
    <li class="nav-item"><a href="#cont4" class="nav-link" data-toggle="pill">1234</a></li>
</ul>
<!-- 结合上面导航部分构成选项卡模块,以下是选项卡内容部分: -->
<div class="tab-content">
    <!---tab-content隐藏下面所有的内容,但是有active的内容会显示-->
    <div id="cont1" class="tab-pane active">1</div>
    <div id="cont2" class="tab-pane">12</div>
    <!-- tab-pane隐藏带有此类的div自身 -->
    <div id="cont3" class="tab-pane">123</div>
    <div id="cont4" class="tab-pane">1234</div>
</div>

导航栏:

bootstrap中提供了导航栏功能的封装,导航栏一般时放到页面的顶部;相关类样式如下:

类名描述
.navbar创建一个导航栏,后面可跟 navbar-expand-S类实现响应式导航栏;默认是垂直排列的
.navbar-expand-S根据屏幕尺寸做出响应式的导航栏,当屏幕小于指定值时,列表会垂直排列;S的值可以是 xl、lg、md、sm
.navbar-nav给导航栏上元素ul添加此类,清除ul默认样式,并使ul水平排列
.nav-item给navbar-nav中li添加此类,修改样式
. nav-link给nav-item中的链接a添加此类,清除鼠标hover下划线样式并进行了布局
.navbar-light此类设置了一个黑色color,但是后面有以此为基础的active类,有此项active选中的链接会有突显效果
.disabled禁用a标签
.navbar-brand高亮效果,用于突显logo等,若此类用于img则图片自适应导航栏
.navbar-text设置导航栏非链接文本
.fixed-top用于固定导航栏,给nav添加此标签将导航栏固定到顶部
.fixed-bottom用于固定导航栏,给nav添加此标签将导航栏固定到底部
.breadcrumb定义面包屑导航栏,给父级容器加此类,如ul
.breadcrumb-item导航栏中每一项中添加的类名,此类是一个/符
<!-- 基本导航栏: -->
<nav class="navbar navbar-expand-sm bg-warning navbar-light">
    <ul class="navbar-nav">
        <li class="nav-item"><img src="2.png" class="navbar-brand" width='50px' height='50px'>
        </li>
        <li class="nav-item"><a class="nav-link navbar-brand" href="#">首页</a></li>
        <li class="nav-item"><a class="nav-link active" href="#">设置</a></li>
        <li class="nav-item"><a class="nav-link disabled" href="#">个人中心</a></li>
    </ul>
</nav>

<!-- 折叠导航栏: -->
<!-- 1.定义按钮:按钮必须有 data-toggle="collapse"实现功能层面、data-target=".navbox"指定需要折叠的对象-->
<button data-toggle="collapse" data-target=".navbox">展示/收起</button>

<!-- 2.定义一个盒子用于上面按钮折叠,同时将基础导航栏装入此盒子 -->
<div class="navbox show"><!--这里加show解决首次点击出现bug问题-->
    <nav class="navbar navbar-expand-sm bg-warning navbar-light">
        <ul class="navbar-nav">
            <li class="nav-item"><img src="2.png" class="navbar-brand" width='50px' height='50px'>
            </li>
            <li class="nav-item"><a class="nav-link navbar-brand" href="#">首页</a></li>
            <li class="nav-item"><a class="nav-link active" href="#">设置</a></li>
            <li class="nav-item"><a class="nav-link disabled" href="#">个人中心</a></li>
        </ul>
    </nav>
</div>

<!--面包屑导航栏-->
<ul class="breadcrumb">
    <li class="breadcrumb-item"><a href="#">首页</a></li>
    <li class="breadcrumb-item"><a href="#">设置</a></li>
    <li class="breadcrumb-item  active">个人中心</li>
</ul>

表单:

bootstrap提供了类样式供创建表单,其具体如下:

类名描述
.form-control定义一个宽度100%的表单元素,给input标签
.form-inline定义一个水平排列的响应式表单域(给form标签),当屏幕小到一定程度时表单元素会垂直排列
.form-check-inline将一个容器中的选项水平排列
.disabled禁用一个表单元素
.input-group-prepend用来定义一个给输入框前面添加文本的容器,此类给div元素,实际没太大作用
.input-group将input-group-append和input-group-prepend的其他元素放到一组,使在同一行上
.input-group-text定义输入框组中的文本,使之有样式
.input-group-append用来定义一个给输入框后面添加文本的容器,此类给div元素,实际没太大作用
.input-group-S定义一组输入框的大小,此类给input-group容器加,其中S值有sm和lg
<form action="" class="form-inline">
    <div class="form-group form-check-inline">
        <span>用户名:</span><input type="url" class="form-control">
        <span>密码:</span><input type="password" class="form-control">
    </div>
    <div class="form-group radio-inline">
        <span>用户名:</span><input type="text" class="form-control">
        <span>密码:</span><input type="password" class="form-control">
    </div>
</form>

自定义表单:

bootstrap封装了关于表单的自定义类样式等,如下:

类名描述
.custom-control定义一个选框的容器,此类名做样式布局
.custom-checkbox定义被选中时方框中的对号
.custom-control-input将选框的默认选框隐藏
.custom-control-label一个伪元素用于代替隐藏的默认选框
.custom-radio定义圆形选框及被选中时选框中的白点
.custom-control-inline将自定义控件布局在同一行
.custom-select定义选择菜单(给select元素设置此类),默认是通栏显示;但是一般会在后面加限定大小的后缀sm和lg,如: custom-select-sm
.custom-range自定义滑块输入,滑动点仅为一个点,在本地测试和默认效果一样
.custom-file-label用于label初始化一个自适应通栏的文件域
.custom-file-input使元素相对定位,且 opacity: 0;使用时建议外面套一个容器并给类样式custom-file
<!-- 自定义复选框原理:将默认的CheckBox选框隐藏掉或将label的伪元素定位到默认CheckBox的位置将其覆盖,选中时在修改伪元素样式-->
<form method="GET">
    <div class="custom-control custom-checkbox">
        <input type="checkbox" class="custom-control-input" id="checkbox1" name="apple">
        <label class="custom-control-label" for="checkbox1">apple</label>
    </div>
    <div class="custom-control custom-checkbox">
        <input type="checkbox" class="custom-control-input" id="checkbox2" name="water">
        <label class="custom-control-label" for="checkbox2">water</label>
    </div>
    <input type="submit" value="提交">
</form>

<!-- 自定义单选框:原理和复选框一样 -->
<form method="GET">
    <div class="custom-control custom-radio custom-control-inline">
        <input type="radio" class="custom-control-input" id="checkbox1" name="sex" value='1'>
        <label class="custom-control-label" for="checkbox1"></label>
    </div>
    <div class="custom-control custom-radio custom-control-inline">
        <input type="radio" class="custom-control-input" id="checkbox2" name="sex" value='2'>
        <label class="custom-control-label" for="checkbox2"></label>
    </div>
    <input type="submit" value="提交">
</form>

<!-- 自定义选择菜单: -->
<form>
    <select name="number" class="custom-select-sm">
      <option value="0" selected disabled>数字</option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
    </select>
    <input type="submit" value="提交">
</form>

<!-- 自定义滑块输入: -->
<form method="GET">
    <label for="rangebox">自定义滑块</label>
    <input type="range" class="custom-range" id="rangebox" name="values">
    <input type="submit" value="提交">
</form>

<!-- 自定义文件域: -->
<form method="POST">
    <div class="custom-file">
        <input type="file" class="custom-file-input" id="fileBox">
        <label class="custom-file-label" for="fileBox">选择文件</label>
    </div>
    <input type="submit" value="提交">
</form>

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者删除。
笔者:苦海

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论
要在 Bootstrap 导航栏添加搜索框,可以使用 Bootstrap 提供的表单组件和导航栏组件。 以下是一个简单的示例: ```html <nav class="navbar navbar-expand-lg navbar-light bg-light"> <a class="navbar-brand" href="#">Logo</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="#">Home</a> </li> <li class="nav-item"> <a class="nav-link" href="#">About</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Contact</a> </li> </ul> <form class="form-inline my-2 my-lg-0"> <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search"> <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button> </form> </div> </nav> ``` 上述代码,我们在导航栏的右侧添加了一个 `form` 表单,其包含一个 `input` 元素和一个 `button` 元素。这里使用了 Bootstrap表单组件和导航栏组件,使搜索框和按钮样式与导航栏保持一致。 在 `input` 元素,我们使用了 Bootstrap 提供的 `form-control` 类,使得搜索框的样式更美观。在 `button` 元素,我们使用了 `btn` 和 `btn-outline-success` 类,使得搜索按钮的样式更美观。 通过这种方式,我们就可以在 Bootstrap 导航栏添加一个搜索框。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苦海123

快乐每一天!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值