前端框架之Bootstrap

昨日内容回顾

  • jQuery简介
第三方类库 封装了js代码 兼容性更高

宗旨:write less do more.

链式操作:一行代码搞定所有

语法关键字:
	jQuery === $()
  • 两种导入jQuery的方式
1.自行下载第三方代码并导入

2.使用免费的CDN加速服务
	网站:bootcdn
  • 诸多选择器
# 基本选择器:
	$('#d1') $('.c1') $('p')
    
# 组合选择器
	$('div#d1') $('#d1 .c1') $('#d1,span,.c1')
    
# 其他选择器
	next()  prev() parent() children() siblings()
	:text :checkbox
  • 节点操作
addClass()  removeClass()  hasClass() ...

text()  html()  val()  files

append()  prepend()  after() ...
  • 事件
# 两种绑定方式
	jQuery对象.事件名(function(){})
	jQuery对象.on('事件名',function(){})
 
事件练习:
	input实时监听		
	change文本域变化

今日内容概要

  • jQuery补充知识
  • 前端框架之bootstrap

内容详细

1.阻止后续事件执行

# return false; // 常见阻止表单提交等

# e.preventDefault();



# HTML文件内容:
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>牛逼的网站</title>
  <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
<form action="">
    <p>
       <input type="text">
    </p>
    <input type="submit" id="d1">
    <script>
        $('#d1').click(function (e) {
            alert(123)
            // 1.阻止该标签后续事件的执行 方式1   推荐
            return false
            // 2.阻止该标签后续事件的执行 方式2   了解
            // e.preventDefault()
        })
    </script>
</form>
</body>
</html>

image

image

2.事件冒泡

# HTML文件内容:
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>牛逼的网站</title>
  <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
<div>div
    <p>div>p
        <span>div>p>span</span>
    </p>
</div>
<script>
    $('div').click(function (e) {
        alert('div')
    })
    $('p').click(function (e) {
        alert('p')
        // 阻止事件冒泡的方式1
        // return false
        // 阻止事件冒泡的方式2
        // e.stopPropagation()
    })
    $('span').click(function (e) {
        alert('span')
    })
</script>
</body>
</html>

image

3.文档加载

# 文档加载方式有时候会写在 head标签中 了解即可不推荐使用
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script>
        // 原生js文档加载方式
        window.onload = function () {}
        // jQuery文档加载方式01
        $(document).ready(function () {})
        // jQuery文档加载方式02
        $(function(){})
    </script>
</head>

4.事件委托

"""
事件委托是通过事件冒泡的原理,利用父标签去捕获子标签的事件
"""

# 复制事件
<body>
<script>
        $('button').click(function () {
            // 创建一个button标签
            var btnEle = document.createElement('button')
            // 设置内部文本
            btnEle.innerText = '点我'
            // 将button标签添加到body内部
            $('body').append(btnEle)
        })
    </script>
</body>


# 事件委托:每一行的每个按钮都能触发相应的事件
<body>
<button>选我</button>
    <script>
        // 将body内部所有的点击事件委托给button按钮执行
        $('body').on('click','button',function () {
            // 创建一个button标签
            var btnEle = document.createElement('button')
            // 设置内部文本
            btnEle.innerText = '点我'
            // 将button标签添加到body内部
            $('body').append(btnEle)
        })
</script>
</body>



# HTML文件内容:
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>牛逼的网站</title>
  <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
    <button>选我</button>
    <script>
        // 将body内部所有的点击事件委托给button按钮执行
        $('body').on('click','button',function () {
            // 创建一个button标签
            var btnEle = document.createElement('button')
            // 设置内部文本
            btnEle.innerText = '点我'
            // 将button标签添加到body内部
            $('body').append(btnEle)
        })


        // $('button').click(function () {
        //     // 创建一个button标签
        //     var btnEle = document.createElement('button')
        //     // 设置内部文本
        //     btnEle.innerText = '点我'
        //     // 将button标签添加到body内部
        //     $('body').append(btnEle)
        // })
    </script>
</body>
</html>

image

image

5.动画效果

# 基本
	show([s,[e],[fn]])
	hide([s,[e],[fn]])
	toggle([s],[e],[fn])

# 滑动
	slideDown([s],[e],[fn])
	slideUp([s,[e],[fn]])
	slideToggle([s],[e],[fn])

# 淡入淡出
	fadeIn([s],[e],[fn])
	fadeOut([s],[e],[fn])
	fadeTo([[s],o,[e],[fn]])
	fadeToggle([s,[e],[fn]])

# 自定义(了解即可)
	animate(p,[s],[e],[fn])



# HTML文件内容:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>牛逼的网站</title>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <style>
        div {
            position: relative;
            display: inline-block;
        }

        div > i {
            display: inline-block;
            color: red;
            position: absolute;
            right: -16px;
            top: -5px;
            opacity: 1;
        }
    </style>
</head>
<body>
<div id="d1">点赞</div>
<script src="jquery-3.2.1.min.js"></script>
<script>
    $("#d1").on("click", function () {
        var newI = document.createElement("i");
        newI.innerText = "+1";
        $(this).append(newI);
        $(this).children("i").animate({
            opacity: 0
        }, 1000)
    })
</script>
</body>
</html>

image

image

6.前端框架Bootstrap

# 官网:https://v3.bootcss.com/

# 下载步骤
	1.进入官网直接点击下载
	2.选择用于生产环境的Bootstrap下载
	3.下载的压缩包 自行解压到能找到的文件路径
	4.使用框架调整页面样式一般都是操作标签的class属性即可

    
# bootstrap需要依赖于jQuery才能正常执行(动态效果)


# 引入方式
	本地引入(最完整的)
		1.引入jQuery
		2.引入bootstrap的css文件
		3.引入bootstrap的js文件
        
	CDN引入
		1.引入jQuery CDN
		2.引入bootstrap css的 CDN
		3.引入bootstrap js的 CDN
"""
CDN导入可以都写到pycharm默认文本模板中 今后在新建HTML文件就会自动添加:
进入 https://www.bootcdn.cn/twitter-bootstrap/ 官网
找到对应版本 选择复制链接

<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet">

<script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
"""

image

image

image
image
image

7.布局容器

"""
第一次使用该框架的时候最好采用本地导入的方式 
让pycharm记住bootstrap的关键字
"""
container		左右留白
container-fluid  左右不留白



# HTML文件内容:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>牛逼的网站</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
    <style>
        .c1 {
            background-color: red;
            height: 200px;
        }
    </style>
    
</head>
<body>
  <div class="container c1">左右留白布局</div>
  <div class="container-fluid c1">左右不留白布局</div>

</body>
</html>

image

8.栅格系统

# 栅格系统用于通过一系列的行(row)与列(column)的组合来创建页面布局,你的内容就可以放入这些创建好的布局中

row		行  # 一个row就是一行 一行是固定的12份
col-md-1	占几份
col-sm-1	占几份
col-xs-1	占几份
col-lg-1	占几份



# HTML文件内容:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>牛逼的网站</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
    <style>
        .c1 {
            background-color: red;
            height: 200px;
            border: 5px solid black;
        }
    </style>

</head>
<body>
  <div class="container">
      <div class="row">
          <div class="col-md-6 c1 col-sm-6"></div>
          <div class="col-md-6 c1 col-sm-6"></div>
      </div>
  </div>
</body>
</html>

image

image

9.表格

# 为任意 <table> 标签添加 .table 类可以为其赋予基本的样式 — 少量的内补(padding)和水平方向的分隔线


# 条纹状表格
	通过 .table-striped 类可以给 <tbody> 之内的每一行增加斑马条纹样式

# 带边框的表格
	添加 .table-bordered 类为表格和其中的每个单元格增加边框

# 鼠标悬停
	通过添加 .table-hover 类可以让 <tbody> 中的每一行对鼠标悬停状态作出响应
    
# 紧缩表格
	通过添加 .table-condensed 类可以让表格更加紧凑,单元格中的内补(padding)均会减半
    
	
	
# HTML文件内容:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>牛逼的网站</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <h2 class="text-center">用户数据</h2>
            <table class="table table-hover table-striped table-bordered">
                <thead>
                <tr>
                    <th>id</th>
                    <th>name</th>
                    <th>pwd</th>
                </tr>
                </thead>

                <tbody>
                <tr class="success">
                    <th>001</th>
                    <th>jason</th>
                    <th>123</th>
                </tr>

                <tr class="danger">
                    <th>002</th>
                    <th>ja</th>
                    <th>555</th>
                </tr>

                <tr>
                    <th class="warning">003</th>
                    <th>on</th>
                    <th>999</th>
                </tr>

                </tbody>
            </table>

            <h2 class="text-center">用户注册</h2>
            <form action="">
                <p>姓名:
                    <input type="text" class="form-control">
                </p>
                <p>密码:
                    <input type="text" class="form-control">
                </p>
                <p>性别:
                    <input type="radio">男
                    <input type="radio">女
                </p>
                <p>
                    <input type="submit" class="btn btn-danger btn-block">
                </p>
            </form>
        </div>
    </div>
</div>
</body>
</html>

image

image

10.按钮组

# 可作为按钮使用的标签或元素
	为 <a>、<button> 或 <input> 元素添加按钮类(button class)即可使用 Bootstrap 提供的样式
    
	<a href="" class="btn btn-primary">点这里</a>
	<a href="" class="btn btn-block btn-danger">重置</a>

image

11.图标

class="glyphicon glyphicon-heart"

# bootstrap自带的
	通过span标签修改class属性值

# fontawesome网站
	专门提供图标库  # 完美兼容bootstrap框架
	https://fontawesome.dashgame.com/

image

image

其余详细描述详见官网文档:

https://v3.bootcss.com/

posted @ 2022-02-16 20:47  Deity_JGX  阅读(192)  评论(0编辑  收藏  举报