html——bootstrap 下拉菜单的使用及实现悬停展开下拉菜单

1、我这里使用的bootstrap4.0版本,相比3.0版本,新版本在使用时要在头部引入第三方 Popper.js插件。

这里先放一下头部的所有引用:

    <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
    <script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js">script>
    <script src="https://cdn.staticfile.org/popper.js/1.15.0/umd/popper.min.js">script>
    <script src="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/js/bootstrap.min.js">script>
2、这里先贴一下官网用法的html代码:

(可以参考官方文档https://getbootstrap.net/docs/components/dropdowns/#split-button-dropdowns或者菜鸟教程https://www.runoob.com/bootstrap4/bootstrap4-dropdowns.html)


<html>
<head>
  <title>Bootstrap 实例title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
  <script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js">script>
  <script src="https://cdn.staticfile.org/popper.js/1.15.0/umd/popper.min.js">script>
  <script src="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/js/bootstrap.min.js">script>
head>
<body>

<div class="container">
	<div class="dropdown">
	  <a class="btn btn-secondary dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
		Dropdown link
	  a>

	  <div class="dropdown-menu" aria-labelledby="dropdownMenuLink">
		<a class="dropdown-item" href="#">Actiona>
		<a class="dropdown-item" href="#">Another actiona>
		<a class="dropdown-item" href="#">Something else herea>
	  div>
	div>
div>

body>
html>

效果如下:
html——bootstrap 下拉菜单的使用及实现悬停展开下拉菜单_第1张图片

3、然后下面是自己改写的下拉菜单的效果:

html——bootstrap 下拉菜单的使用及实现悬停展开下拉菜单_第2张图片
主要改写了以下几点:

  • 1、将点击下拉菜单改为鼠标悬停展开下拉菜单,主要实现代码如下:(注意两个标签必须一起添加)
		//设置鼠标悬停展开下拉菜单
        function dropdownOpen(){
            $('.dropdown').mouseover(function(){
                $(this).addClass('show');
                //查找当前元素子节点中的对象,修改其class,这样
                //这样当有多个下拉菜单时,可以分别独立处理,而不会出现都下拉的bug
                $(this).find(".dropdown-menu").addClass('show');

            }).mouseout(function(){

                $(this).find(".dropdown-menu").removeClass('show');
                $(this).removeClass('show');
            });
        }
  • 2、实现将按钮右侧的下三角图标去除,实现方法:在按钮标签中去掉dropdown-toggle类即可
  • 3、减小下拉菜单的宽度,实现方法:通过减小dropdown-menu类div的宽度,即重置其min-width属性来实现,该div标签如下:
<div class="dropdown-menu" style="min-width: unset">
  • 4、缩小下拉菜单子标签两边的padding空白以控制子标签的大小和位置,实现方法:设置每个子标签的padding属性,示例代码如下:(这里只放了两个举例说明)
<a class="dropdown-item" style="padding: 4px 10px 4px 10px;" href="#">专委会简介a>
<a class="dropdown-item " style="padding: 4px 10px 4px 10px;" href="#">组织结构a>
4、最后放上自己改写的完整代码:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>dropdowntitle>
    <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
    <script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js">script>
    <script src="https://cdn.staticfile.org/popper.js/1.15.0/umd/popper.min.js">script>
    <script src="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/js/bootstrap.min.js">script>

    <script>
        $(function () {
            dropdownOpen();

        });

        function dropdownOpen(){
            $('.dropdown').mouseover(function(){
                $(this).addClass('show');
                //查找当前元素子节点中的对象,修改其class,这样
                //这样当有多个下拉菜单时,可以分别独立处理,而不会出现都下拉的bug
                $(this).find(".dropdown-menu").addClass('show');

            }).mouseout(function(){

                $(this).find(".dropdown-menu").removeClass('show');
                $(this).removeClass('show');
            });
        }
    script>
head>
<body>


    <div class="container-fluid">

        <div class="row" style="min-height: 20px">div>
        <div class="row">

            <div class="col-md-4">div>

            <div class="col-md-1">

                <div class="dropdown" >
                    
                    <button type="button" class="btn dropdownBtn btn-secondary"  data-toggle="dropdown">
                        专委会介绍
                    button>
                    
                    <div class="dropdown-menu" style="min-width: unset">
                        
                        <a class="dropdown-item" style="padding: 4px 10px 4px 10px;" href="#">专委会简介a>
                        <a class="dropdown-item " style="padding: 4px 10px 4px 10px;" href="#">组织结构a>
                        <a class="dropdown-item "  style="padding: 4px 10px 4px 10px;" href="#">工作条例a>
                        <a class="dropdown-item "  style="padding: 4px 10px 4px 10px;" href="#">领导成员a>
                        <a class="dropdown-item "  style="padding: 4px 10px 4px 10px;" href="#">文件资料a>
                    div>


                div>
            div>

        div>

    div>





body>
html>

部分参考:

https://blog.csdn.net/qq_36882355/article/details/102626143

你可能感兴趣的:(Html+Js,Bootstrap,javascript,bootstrap,css,js,jquery)