Bootstrap入门到精通(最全最详细)

news2024/10/7 20:28:13

文章目录

  • 前言
  • 一、Bootstrap是什么?
  • 二、Bootstrap安装
    • 方式一:将压缩包下载到本地引入使用
    • 方式二:使用Bootstrap官方cdn
  • 二.Bootstrap容器
    • 下面是屏幕宽度在不同大小时不同容器的显示状态
  • 三.Bootstrap栅格系统
    • ==bootstrap网格系统有以下六个类==
    • 网格系统规则
    • 示例(第一行等分为12份):
    • 示例(第二行等分为3份):
    • 示例(第三行 不等分左边占用三分之一右边占用三分之二):
    • 示例(网格嵌套列)
    • 示例(网格偏移列)
    • 示例(网格列顺序 )
    • 网格排版规则
    • Bootstrap文本
      • 文本对齐方式
      • 文本转换
      • 长文本截断
      • 文本换行和溢出
      • 文本大小
      • 文本粗细及斜体
      • 文本行高
      • 重置链接文本颜色
    • Bootstrap颜色类
      • 文本颜色类
    • 背景颜色类
    • Bootstrap列表
      • 列表类型
      • 列表组
  • 总结


前言

随着Bootstrap的问世,Web开发者不必再花费时间、费力地编码,只需找到合适的代码,插入到合适位置即可。此外,CSS利用LESS编写,很多样式和设计都已设计完成。


一、Bootstrap是什么?

Bootstrap是一个用于快速开发Web应用以及网站的前端框架Bootstrap是前端开发中比较受欢迎的框架,简洁且灵活,它基于html,css,js,html用于定义页面元素,css定义页面布局,而js用于控制页面元素的响应,Bootsrap将html,css,和js封装成一个个功能组件,用起来简洁灵活,使得Web开发更便捷

二、Bootstrap安装

方式一:将压缩包下载到本地引入使用

搜索进入Bootstrap中文网并点击等待下载安装

在这里插入图片描述

下载并解压之后把文件名更改为Bootstrap5并将它拖入你的网站根目录,下面分别是css以及js文件的文件内容

在这里插入图片描述

在这里插入图片描述

将css与js分别引入,css使用link引入,js在body标签结尾之前使用script引入

在这里插入图片描述

<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link rel="stylesheet" href="/bootstrap-5/css/bootstrap.min.css">
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <title><%= htmlWebpackPlugin.options.title %></title>
  </head>
  <body>
   
    <div id="app"></div>
    <!-- built files will be auto injected -->
    <script src="/bootstrap-5/js/bootstrap.min.js"></script>
  </body>
</html>

方式二:使用Bootstrap官方cdn

直接复制粘贴到对应位置就可以啦(注意要将integrity属性和crossorigin属性删掉不然会提示错误信息)

在这里插入图片描述

<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet" />
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <title><%= htmlWebpackPlugin.options.title %></title>
  </head>
  <body>
   
    <div id="app"></div>
    <!-- built files will be auto injected -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js" ></script>
  </body>
</html>

二.Bootstrap容器

从超小到小屏幕然后中等–>大屏幕–>特大屏幕–>超级大屏幕这几个阶段显示的宽度状态也截然不同

在这里插入图片描述

.container用于创建固定宽度的响应式页面
.container-luid类用于创建一个全屏幕尺寸的容器,容器始终跨越整个屏幕宽度(100%)

区别:

相同点就是俩者都可以将高度设置为auto

不同点就是containe根据屏幕利用媒体查询,设置了固定的宽度,它是阶段性的改变宽度,而container-fluid则是将宽度设定为auto,所以当浏览器缩放时,它始终保持100%大小

下面是屏幕宽度在不同大小时不同容器的显示状态

宽度大于1400显示如下(1920)

在这里插入图片描述

宽度大于1200<1400显示如下(1360)

在这里插入图片描述
宽度大于992<1200显示如下(1080)

在这里插入图片描述

宽度大于768<992显示如下(820)

在这里插入图片描述

宽度大于576<768显示如下(640)

在这里插入图片描述

宽度小于576显示如下(375)

在这里插入图片描述

三.Bootstrap栅格系统

bootatrap提供了一套响应式,移动设备优先的流式网格系统,随着屏幕或者视口尺寸的增加,系统会自动分为最多12列,多出12列的将不再此行显示(换行显示)

bootstrap网格系统有以下六个类

重点:

  • .col 针对所有设备
  • .col-sm 平板-屏幕宽度等于或大于576px
  • .col-md 桌面显示器-屏幕宽度等于或者大于768px
  • .col-lg 大桌面显示器-屏幕宽度等于或大于992px
  • .col-xl 特大桌面显示器-屏幕宽度等于或大于1200px
  • .col-xxl 超级大桌面显示器-屏幕宽度等于或大于1400px

网格系统规则

  • 使用行来创建水平的列组
  • 网格每一行需要方式在设置了.container或者其他类的容器中,这样就可以自动设置一些外边距与内边距
  • 内容需要放置在列中,并且只有列可以是行的直接子节点
  • 预定义的类如.row和.col-sm-4可以用于快速制作网格布局

示例(第一行等分为12份):

container和row共同组成栅格容器,row代表的是一行

创建栅格容器后,设置名为.col-sm的div,当尾数为1时,则表示每个div宽度占1/12

	<div class="container">            
        <div class="row">
        <h1>第一行</h1>
            <!-- 最多可以分成12个网格,下面是每一个网格占用1个比例 -->
            <div class="col-sm-1">1</div>
            <div class="col-sm-1">2</div>
            <div class="col-sm-1">3</div>
            <div class="col-sm-1">4</div>
            <div class="col-sm-1">5</div>
            <div class="col-sm-1">6</div>
            <div class="col-sm-1">7</div>
            <div class="col-sm-1">8</div>
            <div class="col-sm-1">9</div>
            <div class="col-sm-1">10</div>
            <div class="col-sm-1">11</div>
            <div class="col-sm-1">12</div>
        </div>
    </div>

屏幕宽度大于576px显示如下:
在这里插入图片描述

宽度小于576px则是这样显示

在这里插入图片描述

示例(第二行等分为3份):

  <div class="container">   
        <div class="row">
        <h1>第一行</h1>
            <!-- 最多可以分成12个网格,下面是每一个网格占用1个比例 -->
            <div class="col-sm-1">1</div>
            <div class="col-sm-1">2</div>
            <div class="col-sm-1">3</div>
            <div class="col-sm-1">4</div>
            <div class="col-sm-1">5</div>
            <div class="col-sm-1">6</div>
            <div class="col-sm-1">7</div>
            <div class="col-sm-1">8</div>
            <div class="col-sm-1">9</div>
            <div class="col-sm-1">10</div>
            <div class="col-sm-1">11</div>
            <div class="col-sm-1">12</div>
        </div>
        <div class="row">
            <h1>第二行</h1>
            <!-- 最多可以分成12个网格,下面是每一个网格占用1个比例 -->
            <div class="col-sm-4">1</div>
            <div class="col-sm-4">2</div>
            <div class="col-sm-4">3</div>
        </div>
    </div>

在这里插入图片描述

示例(第三行 不等分左边占用三分之一右边占用三分之二):

    <div class="container">     
        <div class="row">
        <h1>第一行</h1>
            <!-- 最多可以分成12个网格,下面是每一个网格占用1个比例 -->
            <div class="col-sm-1">1</div>
            <div class="col-sm-1">2</div>
            <div class="col-sm-1">3</div>
            <div class="col-sm-1">4</div>
            <div class="col-sm-1">5</div>
            <div class="col-sm-1">6</div>
            <div class="col-sm-1">7</div>
            <div class="col-sm-1">8</div>
            <div class="col-sm-1">9</div>
            <div class="col-sm-1">10</div>
            <div class="col-sm-1">11</div>
            <div class="col-sm-1">12</div>
        </div>
        <div class="row">
            <h1>第二行</h1>
            <!-- 最多可以分成12个网格,下面是每一个网格占用1个比例 -->
            <div class="col-sm-4">1</div>
            <div class="col-sm-4">2</div>
            <div class="col-sm-4">3</div>           
        </div>
        <div class="row">
            <h1>第三行</h1>
            <!-- 最多可以分成12个网格,下面是每一个网格占用1个比例 -->
            <div class="col-sm-4">1</div>
            <div class="col-sm-8">2</div>           
        </div>
    </div>

在这里插入图片描述

示例(网格嵌套列)

下面代码将布局分为了俩列(左侧一列占7份,右侧占5份),其中每列内部还设置有俩行,总和并超过了外面设置的7份或者5份,这么设置会不会正常显示呢?我们接着往下看

 <div class="row">
            <h1>第四行</h1>
            <div class="col-sm-7" style="background: red;">
                <div class="row">
                    <div class="col-sm-6">col-sm-6</div>
                    <div class="col-sm-6">col-sm-6</div>
                </div>
                <div class="row">
                    <div class="col-sm-4">col-sm-1</div>
                    <div class="col-sm-6">col-sm-9</div>
                </div>
            </div>
            <div class="col-sm-5" style="background: blue;">
                <div class="row" >
                    <div class="col-sm-6">col-sm-6</div>
                    <div class="col-sm-6">col-sm-6</div>
                </div>
                <div class="row">
                    <div class="col-sm-4">col-sm-1</div>
                    <div class="col-sm-6">col-sm-9</div>
                </div>
            </div>
        </div>
    </div>

可以正常显示,说明每一列中的每一行占用的空间是将父级列所占用的空间又等分成了12份,并不是说父级列设置了7或者5,里面行的总和就得小于这个数

在这里插入图片描述

示例(网格偏移列)

网格列偏移是通过类名offset- * - * 来设置的
第一个*号是表示屏幕设备类型例如sm,md,lg等等
第二个*号是表示偏移度可以设置1-11的数字

例子:offset-md-4是往右边移动了4格

<div class="row">
        <h1>第五行</h1>
        <div class="col-sm-4" style="background: red;">1</div>
        <div class="col-sm-4 offset-sm-4" style="background: blue;" >2</div>
</div>

俩列共占用8格,还剩余四格,所以想要蓝色格子到最右边,则给右边格子设置4偏移量offset-sm-4

在这里插入图片描述

示例(网格列顺序 )

网格列顺序是通过类order来控制内容的可视顺序,order-sm-1

  <div class="row">
        <h1>没有加order</h1>
        <div class="col-sm-4" style="background: red;">1</div>
        <div class="col-sm-4" style="background: blue;" >2</div>
        <div class="col-sm-4" style="background: green;" >3</div>
    </div>
    <div class="row">
        <h1>加了order</h1>
        <div class="col-sm-4 order-sm-2" style="background: red;">1</div>
        <div class="col-sm-4 order-sm-3" style="background: blue;" >2</div>
        <div class="col-sm-4 order-sm-1" style="background: green;" >3</div>
    </div>

在这里插入图片描述

网格排版规则

排列数字1-5会起作用,5之后的数字不起作用

用数字设置顺序,导致的问题比如有八个div如果只是给前三个设置order后面没有设置顺序,则后面的div就会排到前面去然后紧接着是加了顺序的123div

order-first和order-last顺序设置时候不会出现上面那种问题,设置第一个就是第一个,设置最后就是最后,且优先级比设置数字要高

Bootstrap文本

文本对齐方式

基本对齐方式如下:

  • .text-start 文本居左
  • .text-center 文本居中
  • .text-end 文本靠右

除了上面基本的对齐方式,还可以配置屏幕宽度大小来实现响应式文本对齐类

响应式对齐方式如下:

  • text-sm-center 当屏幕宽度大于等于576px时候保持居中
  • text-md-start 当屏幕宽度大于等于768px时候保持居左
  • text-lg-end 当屏幕宽度大于等于992px时候保持居右
<div class="container">
      <p class="text-center">这是一个居中的段落</p>
      <p class="text-start">这是一个靠左的段落</p>
      <p class="text-end">这是一个靠右的段落</p>
      <!-- 当屏幕宽度大于等于576px时,这个文本一直保持居中 -->
      <p class="text-sm-center">这是一个居中的段落</p>
</div>

文本转换

可以将字母转换为小写,大写,设置单词首字母大写等

  • text-lowercase 字母转小写
  • text-uppercase 字母转大写
  • text-capitalize 单词首字母大写

代码示例及显示结果

 <div class="container">
        <!-- 转换结果aaaa -->
      <p class="text-lowercase">AAAAA</p>      
       <!-- 转换结果AAAA --> 
      <p class="text-uppercase">aaaa</p>
       <!-- 转换结果Shop -->
      <p class="text-capitalize">shop</p>
    </div>

长文本截断

对于比较长的文本,可以使用.text-truncate用省略号截断文本

代码示例及显示结果

 <div class="container">
        <div class="col-sm-1 text-truncate">我是一个很长很长的段落</div>
		  <!-- 页面显示我是...... -->
    </div>

文本换行和溢出

  • .text-wrap 实现文本在超过盒子宽度时候自动换行
  • .text-nowrap 阻止文本换行,并使文字溢出当前盒子

代码示例及显示结果

<div class="container">
        <div class="col-sm-1 text-wrap">我是一个很长很长的段落</div>
        <!-- 我是一 -->
        <!-- 个很长 -->
        <!-- 很长的 -->
        <!-- 段落 -->
        <div class="col-sm-1 text-nowrap">我是一个很长很长的段落</div>
        <!--我是一个很长很长的段落 -->
    </div>

文本大小

在bootstrap中默认字体大小为16px

在bottstrap中分别将文本大小分为六类,分别对应h1-h6

 <div class="container">
        <!-- 添加类名.fs-*或者h*(*代表1-6) -->
        <h1>使用fs-*类名的文本</h1>
       <p class="fs-1">1</p>
       <p class="fs-2">2</p>
       <p class="fs-3">3</p>
       <p class="fs-4">4</p>
       <p class="fs-5">5</p>
       <p class="fs-6">6</p>
        <h1>使用h*类名的文本</h1>
       <p class="h1">1</p>
       <p class="h2">2</p>
       <p class="h3">3</p>
       <p class="h4">4</p>
       <p class="h5">5</p>
       <p class="h6">6</p>
    </div>

文本粗细及斜体

在BootStrap5中将字体的粗细分为了5类

  • .fw-bolder(bolder)
  • .fw-bold(700)
  • .fw-normal(400)
  • .fw-light(300)
  • .fw-lighter(lighter)

<div class="container mt-3">
	<p class="fw-bold">粗体文本</p>
	<p class="fw-bolder">粗体文本(相对于父元素)</p>
	<p class="fw-normal">正常的文本</p>
	<p class="fw-light">细体文本.</p>
	<p class="fw-lighter">细体文本(相对于父元素)</p>
	<p class="fst-italic">斜体</p>
	<p class="fst-normal">正常字体样式的文本 取消斜体<p>
</div>

在这里插入图片描述

文本行高

在BootStrap5中将行高分为了4种

  • .lh-1(1rem)
  • .lh-sm(1.25rem)
  • .lh-base(1.5rem)
  • .lh-lg(2rem)
 <div class="container">
        <div class="container mt-3">
            <p class="lh-1">这是一个很长的段落,用来说明我们的实用程序如何影响元素的行高。类应用于元素本身,有时也应用于父元素。这些类可以根据需要使用我们的实用程序API进行定制。</p>
            <p class="lh-sm">这是一个很长的段落,用来说明我们的实用程序如何影响元素的行高。类应用于元素本身,有时也应用于父元素。这些类可以根据需要使用我们的实用程序API进行定制。</p>
            <p class="lh-base">这是一个很长的段落,用来说明我们的实用程序如何影响元素的行高。类应用于元素本身,有时也应用于父元素。这些类可以根据需要使用我们的实用程序API进行定制。</p>
            <p class="lh-lg">这是一个很长的段落,用来说明我们的实用程序如何影响元素的行高。类应用于元素本身,有时也应用于父元素。这些类可以根据需要使用我们的实用程序API进行定制。</p>
        </div>
    </div>

在这里插入图片描述

重置链接文本颜色

‎使用类( .text-reset )重置文本或链接的颜色,以便它从其父级继承颜色

  • .text-reset
<div class="container mt-3">
	<p class="text-muted">Muted text with a <a href="#">reset link</a></p>
	<p class="text-muted"> Muted text with a <a href="#" class="text-reset">reset link</a></p>
</div>

在这里插入图片描述

Bootstrap颜色类

文本颜色类

  • .text-muted 柔和的文本
  • .text-primary 重要的文本
  • .text-success 执行成功的文本
  • .text-info 提示信息的文本
  • .text-warning 警告文本
  • .text-danger 危险操作文本
  • .text-secondary 副标题
  • .text-dark 深灰色文字
  • .text-body 默认颜色 黑色
  • .text-black-50 透明度为50的黑色文本
  • .text-light 浅灰色文本
  • .text-white 白色文本
  • .text-white-50 透明度50的白色文本
<div class="container mt-3">
	<p class="text-muted"> 柔和的文本 </p>
    <p class="text-primary"> 重要的文本 蓝色 </p>
    <p class="text-success"> 执行成功的文本</p>
    <p class="text-info"> 代表一些提示信息的文本 </p>
    <p class="text-warning"> 警告文本 </p>
    <p class="text-danger"> 危险操作文本 </p>
    <p class="text-secondary"> 副标题 </p>
    <p class="text-dark"> 深灰色文字 </p>
    <p class="text-body"> 默认颜色 黑色 </p>
    <p class="text-black-50"> 透明度为50的黑色文本 </p>
    <p class="text-light"> 浅灰色文本(白色背景下看不清楚) </p>
    <p class="text-white"> 白色文本 </p>
    <p class="text-white-50 bg-dark"> 透明度为50的白色文本 </p>
</div>

在这里插入图片描述

背景颜色类

与文本类似,只不过前置类名更换为了bg

  • bg-primary
  • bg-success
  • bg-info
  • bg-warning
  • bg-danger
  • bg-secondary
  • bg-dark
  • bg-light
<div class="container mt-3">
    <p class="bg-primary text-white"> 重要的背景颜色 </p>
    <p class="bg-success text-white"> 执行成功的背景</p>
    <p class="bg-info text-white"> 提示信息的背景 </p>
    <p class="bg-warning text-white"> 警告背景 </p>
    <p class="bg-danger text-white"> 危险操作背景 </p>
    <p class="bg-secondary text-white"> 副标题背景 </p>
    <p class="bg-dark text-white"> 深灰色背景 </p>
    <p class="bg-light text-dark"> 浅灰色背景 </p>
</div>

在这里插入图片描述

Bootstrap列表

列表类型

使用bootstrap创建列表可以创建以下三种不同类型的html列表

  • 无序列表—顺序无关紧要的列表(html中是ui li)
  • 有序列表—顺序比较重要的列表(html中是ol li)
  • 自定义列表—术语列表及相关描述(dl dt)

使用.list-unstyled来去除列表的默认样式

<div class="container mt-3">
    <h1>去除列表小点默认样式</h1>
    <ul class="list-unstyled">
        <li>html</li>
        <li>css</li>
        <li>js</li>
    </ul>
</div>

内联列表

简单来说就是将垂直列表变为水平列表,一般用于导航样式

给父级添加list-inline子级添加list-inline-item来实现效果

<div class="container mt-3">
    <ul class="list-unstyled list-inline">
        <li class="list-inline-item">html</li>
        <li class="list-inline-item">css</li>
        <li class="list-inline-item">js</li>
    </ul>
</div>

列表组

总结

以上就是今天要讲的内容,本文目前简单介绍了Bootstrap的使用,后续还会继续更行


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/365839.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

上岸!选择你的隐私计算导师!

开放隐私计算 开放隐私计算开放隐私计算OpenMPC是国内第一个且影响力最大的隐私计算开放社区。社区秉承开放共享的精神&#xff0c;专注于隐私计算行业的研究与布道。社区致力于隐私计算技术的传播&#xff0c;愿成为中国 “隐私计算最后一公里的服务区”。183篇原创内容公众号…

剑指 Offer 55 - I. 二叉树的深度

摘要 剑指 Offer 55 - I. 二叉树的深度 一、深度优先搜索 如果我们知道了左子树和右子树的最大深度l和r&#xff0c;那么该二叉树的最大深度即为&#xff1a;max(l,r)1。 而左子树和右子树的最大深度又可以以同样的方式进行计算。因此我们可以用「深度优先搜索」的方法来计…

JTT808jt1078

List item 前言 交通部与2016年10月份推出了JT/T 1078-2016标准&#xff0c;全称是<道路运输车辆卫星定位系统视频通信协议> 实时音视频传输指令 实时音视频传输请求 消息 I&#xff24;&#xff1a;&#xff10;x9101。 报文类型&#xff1a;信令数据报文。 平台向终…

C语言深入知识——(1)整形数据和浮点数据的存储

1、数据类型的介绍 类型的意义&#xff1a; 使用对应类型能开辟对应内存空间的大小&#xff08;使用范围&#xff09;还有C语言对待不同类型&#xff0c;会采用不同的内存空间视角来看待一个数据 C语言中类型的基本归类&#xff1a; 整型&#xff08;内置类型&#xff09;浮点…

SAP ABAP——SAP简介(六)【ABAP技术栈简介】

&#x1f482;作者简介&#xff1a; THUNDER王&#xff0c;一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计专业大二本科在读&#xff0c;阿里云社区专家博主&#xff0c;华为云社区云享专家&#xff0c;CSDN SAP应用技术领域新兴创作者。   在学习工…

黑吃黑的 Prynt Stealer 在恶意软件中嵌入后门

窃密对于网络犯罪来说&#xff0c;始终都是不可缺少的一部分。攻击者可以通过窃密获取更多信息&#xff0c;来判断攻击目标的价值高低&#xff0c;从而最大化自己的利益。为了使技术不太高的普通攻击者也能够使用&#xff0c;包括 Prynt Stealer 在内的信息窃取类恶意软件通常都…

工赋开发者社区 | 工业数字孪生:西门子工业网络与设备虚拟调试案例(TIA+MCD+SINETPLAN)

PART1案例背景及基本情况新生产系统的设计和实施通常是耗时且高成本的过程&#xff0c;完成设计、采购、安装后&#xff0c;在移交生产运行之前还需要一个阶段&#xff0c;即调试阶段。如果在开发过程中的任何地方出现了错误而没有被发现&#xff0c;那么每个开发阶段的错误成本…

Linux服务:Nginx服务重写功能

目录 一、重写功能 1、重写功能作用 2、rewrite指令 ①if指令 ②return指令 ③ set指令 ④break指令 3、rewrite标志 ①redirect标志 ②permanent标志 ③break标志 ④last标志 ⑤rewrite标志实验 一、重写功能 1、重写功能作用 重写功能(rewrite)用于实现URL的重…

CentOS 8利用Apache安装部署下载服务器

1&#xff1a;部署的目的是做一个类似下面开源镜像网站&#xff0c;把一些软件或者资料上传到服务器上面&#xff0c;减少用户在互联网上下载资料&#xff0c;提高效率&#xff0c;减少病毒。 2&#xff1a;使用下面的命令配置本机的IP地址主机名等信息。后期使用IP地址进行访问…

CRF条件随机场 | 关键原理+面试知识点

&#x1f604; CRF之前跟人生导师&#xff1a;李航学习过&#xff0c;这里结合自己的理解&#xff0c;精简一波CRF&#xff0c;总结一下面试中高频出现的要点。个人觉得没网上说的那么复杂&#xff0c;我看网上很大部分都是一长篇先举个例子&#xff0c;然后再说原理。没必要原…

webservice接口开发详解(.Net)

环境&#xff1a;win10 工具:Visual Studio2015 语言&#xff1a;vb.net WebService: 1.打开vs2015&#xff0c;新建visual basic项目&#xff0c;选择ASP.NET Web应用程序&#xff0c;单击确定 2.右键解决方案&#xff0c;添加新建项-Web-Web 服务(ASMX) 3.生成的WebServi…

Qt QMAKE_MSC_VER

文章目录摘要修改conf文件参考链接关键字&#xff1a; Qt、 QMAKE_MSC_VER 、 conf、 version、 关键字5摘要 今天在又有了新的小项目需要CV一下&#xff0c;但是第三方提供的是COM组件的库&#xff0c;所以第一步还是老实使用VS版本的Qt 来开发&#xff0c;以防不测&#xf…

3个月,入门网络安全并找到工作

在我进入大学之前&#xff0c;我一直对计算机感兴趣。虽然只是考了一个一般大学&#xff0c;但是选专业的时候还是选了计算机专业。 本来以为自己会在大学里学到很多有用的知识&#xff0c;并且能够很快找到一份好工作。但是&#xff0c;事实并不是这样。在大学期间&#xff0c…

深入浅出C++ ——哈希

文章目录前言一、unordered系列关联式容器1. unordered_map2. unordered_set二、哈希1. 哈希概念2. 哈希冲突3. 哈希函数4. 哈希冲突解决方法三、模拟实现unordered系列容器1. 哈希表的改造2. 模拟实现 unordered_set3. 模拟实现 unordered_map前言 在C11中&#xff0c;STL又提…

git之创建远程仓库

创建远程仓库 以下操作为演示在Github网站上创建远程仓库 1.登陆注册Github 2.创建仓库入口 3.编辑仓库信息 4.仓库创建完成 5.查看仓库地址 配置SSH 选择SSH操作 如果某台电脑需要与Github上的仓库交互&#xff0c;那么就要把这台电脑的SSH公钥添加到…

TestNG和Junit的区别,测试框架该如何选择?

要想知道两个框架的区别&#xff0c;首先分别介绍一下两个框架。 TestNG是一个java中的开源自动化测试框架&#xff0c;其灵感来自JUnit和NUnit&#xff0c;TestNG还涵盖了JUnit4整个核心的功能&#xff0c;但引入了一些新的功能&#xff0c;使其功能更强大&#xff0c;使用更…

【更新公告】Airtest更新至1.2.9版本

1. 前言 本次更新为Airtest库更新&#xff0c;版本提升至1.2.9&#xff0c;主要新增 对Android13的支持 、新增Windows和iOS的录屏接口 等。 2. 更新功能 1&#xff09;新增对Android13的支持 Airtest1.2.9版本新增了对Android13设备的支持&#xff0c;有该系统设备连接/自…

第二章 编写MBR主引导记录

主引导记录&#xff08;MBR&#xff0c;Master Boot Record&#xff09;是采用MBR分区表的硬盘的第一个扇区&#xff0c;即C/H/S地址的0柱面0磁头1扇区&#xff0c;也叫做MBR扇区 计算机的启动过程 为什么程序要载入内存 CPU的硬件电路被设计成只能运行处于内存中的程序&…

前端开发常用的18个JavaScript框架和库

JavaScript 可以说是最流行的编程语言之一&#xff0c;也是Web 开发人员必须学习的 3 种语言之一&#xff0c;JavaScript 几乎可以做任何事情&#xff0c;更可以在包括物联网在内的多个平台和设备上运行。在WebGL库和SVG/Canvas元素的支持下&#xff0c;JavaScript变得惊人的强…

Spring Cloud Nacos源码讲解(四)- Nacos服务端服务注册源码分析

Nacos服务端服务注册源码分析 服务端调用接口 ​ 我们已经知道客户端在注册服务的时候实际上是调用的NamingService.registerInstance这个方法来完成实例的注册&#xff0c;而且在最后我们也告诉了大家实际上从本质上讲服务注册就是调用的对应接口nacos/v1/ns/instance&#…