当前位置: 首页 > news >正文

CSS基础入门手册

入门CSS,看这篇就够啦

  • CSS
      • 1 css是什么
      • 2 基本语法规范
      • 3 引入方式
        • 3.1 内部样式
        • 3.2 外部样式
        • 3.3 内联样式
      • 4 选择器
        • 4.1 选择器的功能
        • 4.2 选择器的种类
        • 4.3 基础选择器
        • 4.4 复合选择器
      • 5 常用元素属性
        • 5.1 字体属性
          • 5.1.1 设置字体
          • 5.1.2 字体大小
          • 5.1.3 字体粗细
          • 5.1.4 文字样式
        • 5.2 文本属性
          • 5.2.1 文本颜色
          • 5.2.2 文本对齐
          • 5.2.3 文本装饰
          • 5.2.4 文本缩进
          • 5.2.5 行高
        • 5.3 背景属性
          • 5.3.1 背景颜色
          • 5.3.2 背景图片
          • 5.3.4 背景尺寸
        • 5.4 圆角矩形
        • 6.1 块级元素
        • 6.2 行内元素
        • 6.3 块级元素和行内元素的区别
        • 6.4 改变显示模式
      • 7 盒模型
        • 7.1 边框
        • 7.2 内边距
        • 7.3 外边距
        • 7.4 块级元素水平居中
      • 8 弹性布局
        • 8.1 弹性布局基本概念
        • 8.2 弹性布局常用的属性
          • 8.2.2`justify-content`
          • 8.2.3 align-items

CSS

1 css是什么

层叠样式表 (Cascading Style Sheets).
CSS 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果. 能够做到页面的样式和结构分离

2 基本语法规范

选择器 + {一条/N条声明}

  • 选择器决定针对谁修改 (找谁)
  • 声明决定修改啥. (干啥)
  • 声明的属性是键值对。使用 ; 区分键值对, 使用 : 区分键和值
    <style>
        div{
            /*设计字体颜色*/
            color:green;
            /*设计字体大小*/
            font-size: 50px;
        }
    </style>

    <div>hello world</div>

注意:

  • CSS 要写到 style 标签中(后面还会介绍其他写法)

  • style 标签可以放到页面任意位置. 一般放到 head 标签内.

  • CSS 使用 /* */ 作为注释. (使用 ctrl + / 快速切换)

3 引入方式

引入方式大致可以分为三种:

  1. 内部样式:使用style标签,把CSS嵌入到HTML
  2. 外部样式:创建一个单独 CSS 文件 (后缀为 .css ),通过 HTML中的 link标签,把 CSS文件引入过来
  3. 内联样式:直接在元素里面使用 style 属性,把对应的 CSS 内容写进来

3.1 内部样式

   <!-- 内部样式 -->
    <style>
        div{
            /*这是一个注释*/
            color:green;
            font-size: 50px;
        }
    </style>
  • 优点: 这样做能够让样式和页面结构分离.
  • 缺点: 分离的还不够彻底. 尤其是 css 内容多的时

这样的方式 实际开发中 并不常用

3.2 外部样式

实际开发中最常用的方式

  1. 创建一个 css 文件.
  2. 使用 link 标签引入 css
<link rel="stylesheet" href="style.css">

创建 style.css (文件名叫啥都行,后缀是 .css 即可)

image-20220913202552684

创建 css_demo.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>

    <!-- 外部样式  -->
    <link rel="stylesheet" href="style.css">

</head>
<body>
    <div>hello world</div>
</body>
</html>

这里提出一个问题:如果既有刚刚的内部样式 又有 外部样式,那么哪个起决定性作用呢?

答案是:谁在后面谁更优先,后面的覆盖前面的,这也是层叠的含义

  • 优点: 样式和结构彻底分离了.
  • 缺点: 受到浏览器缓存影响, 修改之后 不一定 立刻生效

关于缓存:
这是计算机中一种常见的提升性能的技术手段.
网页依赖的资源(图片/CSS/JS等)通常是从服务器上获取的. 如果频繁访问该网站, 那么这些外部资
源就没必要反复从服务器获取. 就可以使用缓存先存起来(就是存在本地磁盘上了). 从而提高访问效
率.
可以通过 ctrl + F5 强制刷新页面, 强制浏览器重新获取 css 文件.

3.3 内联样式

    <!-- 内联样式 -->
    <div style="color:blue; font-size:50px">hello world</div>

内联样式,不必写选择器,把样式写到哪个标签里,哪个标签就生效

内联样式的优先级默认情况下是 大于 外部样式 和 内部样式 的

4 选择器

4.1 选择器的功能

选中页面中指定的标签元素

4.2 选择器的种类

image-20220913203932904

4.3 基础选择器

标签选择器

特点:
能快速为同一类型的标签都选择出来,但是不能差异化选择

(类似于我们游戏中的AOE技能,范围伤害)

<style>
p {
   color: red;
}
div {
   color: green;
}
</style>

类选择器

特点: 可以进行差异化的选择

  • 差异化表示不同的标签
  • 可以让多个标签的都使用同一个标签.
<style>
.blue {
    color: blue;
}
</style>
<div class="blue">hello world</div>

. 开头的就是类选择器

想给哪个元素加上类选择器,就指定类名即可。

一个类选择器,可以被多个标签引用

一个标签也可以引用多个类选择器

image-20220913204642196

注:类选择器 优先级 要比 标签选择器 高

id选择器

  • CSS 中使用 # 开头表示 id 选择器
  • id 选择器的值和 html 中某个元素的 id 值相同
  • html 的元素 id 不必带 #
  • id 是唯一的, 不能被多个标签使用 (是和 类选择器 最大的区别)
<style>
#ha {
   color: red;
}
</style>
<div id="ha">蛤蛤蛤</div>

类比:姓名是类选择器, 可以重复.
身份证号码是 id 选择器, 是唯一的

image-20220913204944232

通配符选择器

使用 * 的定义, 选取所有的标签.

* {
    color: red
}

页面的所有内容都会被改成 红色 .
不需要被页面结构调用

基础选择器小结

作用特点
标签选择器能选出所有相同标签不能差异化选择
类选择器能选出一个或多个标签根据需求选择, 最灵活, 最常用.
id 选择器能选出一个标签同一个 id 在一个 HTML 中只能出现一次
通配符选择器选择所有标签特殊情况下使用

4.4 复合选择器

简单地说,复合选择器就是把上面的基础选择器进行组合

后代选择器

又叫包含选择器. 选择某个父元素中包含的某个子元素

元素1 元素2 {样式声明}

  • 元素 1 和 元素 2 要使用**空格**分割
  • 元素 1 是父级, 元素 2 是子级, 只选元素 2 , 不影响元素 1

代码示例: 把 ol 中的 li 修改颜色, 不影响 ul

<ul>
  <li>aaa</li>
  <li>bbb</li>
  <li>ccc</li>
</ul>
<ol>
  <li>ddd</li>
  <li>eee</li>
  <li>fff</li>
</ol>
ol li {
   color: red;
}

注:

  • 后代选择器 还能选择孙子元素
  • 实际上后代选择器,每个部分都可以是任意的基础选择器
  • 切记不要忘记空格!否则就构不成后代选择器

子选择器

子选择器只能选儿子元素

元素1>元素2 { 样式声明 }

  • 使用大于号分割
  • 只选亲儿子, 不选孙子元素
<div class="two">
  <a href="#">链接1</a>
  <p><a href="#">链接2</a></p>
</div

后代选择器的写法, 会把链接1 和 2 都选中

.two a {
   color: red;
}

子选择器的写法, 只选链接 1

.two>a {
   color: red;
}

并集选择器

用于选择多组标签. (集体声明)

元素1, 元素2 { 样式声明 }
  • 通过 逗号 分割等多个元素.
  • 表示同时选中元素 1 和 元素 2
  • 任何基础选择器都可以使用并集选择器.
<div>苹果</div>
<h3>香蕉</h3>
<ul>
  <li>鸭梨</li>
  <li>橙子</li>
</ul>

把苹果、香蕉、鸭梨和橙子 颜色改成红色

div,
h3,
ul>li {
    color: red;
}

伪类选择器

1.链接伪类选择器

a:link 选择未被访问过的链接
a:visited 选择已经被访问过的链接
a:hover 选择鼠标指针悬停上的链接
a:active 选择活动链接(鼠标按下了但是未弹起)

2.:force伪类选择器

复合选择器小结

选择器作用注意事项
后代选择器选择后代元素可以是孙子元素
子选择器选择子元素只能选亲儿子, 不能选孙子
并集选择器选择相同样式的元素更好的做到代码重用
链接伪类选择器选择不同状态的链接重点掌握 a:hover 的写法.
:focuse 伪类选择器选择被选中的元素重点掌握 input:focus

5 常用元素属性

CSS 属性有很多, 可以参考文档

参考文档

5.1 字体属性

5.1.1 设置字体
body {
  font-family: '微软雅黑';
  font-family: 'Microsoft YaHei';
}
  • 字体名称可以用中文, 但是不建议

  • 多个字体之间使用逗号分隔. (从左到右查找字体, 如果都找不到, 会使用默认字体. )

  • 如果字体名有空格, 使用引号包裹.

  • 建议使用常见字体, 否则兼容性不好.

5.1.2 字体大小
p {
   font-size: 20px;
}

image-20220914162602518

5.1.3 字体粗细
p {
  font-weight: bold;
  font-weight: 700;
}
  • 可以使用数字表示粗细.
  • 700 == bold, 400 是不变粗, == normal
  • 取值范围是 100 到 900

无论是不是标题标签,都能被设置

5.1.4 文字样式
/* 设置倾斜 */
font-style: italic;
/* 取消倾斜 */
font-style: normal;

5.2 文本属性

5.2.1 文本颜色

认识 RGB
我们的显示器是由很多很多的 “像素” 构成的. 每个像素视为一个点, 这个点就能反映出一个具体的颜色.
我们使用 R (red), G (green), B (blue) 的方式表示颜色(色光三原色). 三种颜色按照不同的比例搭配, 就能混合出各种五彩斑斓的效果.
计算机中针对 R, G, B 三个分量, 分别使用一个字节表示(8个比特位, 表示的范围是 0-255, 十六进制表示为 00-FF).
数值越大, 表示该分量的颜色就越浓. 255, 255, 255 就表示白色; 0, 0, 0 就表示黑色

文本颜色,我们是使用 color 来设置

color的写法:

  1. 直接写单词

  2. 使用rgb的形式

  3. 使用16进制的形式(最常用)

color: red;
color: #ff0000;
color: rgb(255, 0, 0);

我们如何获取到每个颜色的 rgb值呢?

告诉大家一个小技巧,qq截图自带这个功能

image-20220914184825729

只要把鼠标放到对应的颜色上就行啦

注:

  1. 16进制形式:使用6个16进制数来表示,两两一组,前两个数组表示R,中间两个数字表示G,最后两个数字表示B

  2. 如果是16进制表示,可能存在缩写的现象:AABBCC ——> ABC

5.2.2 文本对齐

控制文字水平方向的对齐

不光能控制文本对齐, 也能控制图片等元素居中或者靠右

text-align: [值];
  • center: 居中对齐
  • left: 左对齐
  • right: 右对齐
5.2.3 文本装饰
text-decoration: [值];

常用取值:

  • underline 下划线. [常用]
  • none 啥都没有. 可以给 a 标签去掉下划线.
  • overline 上划线. [不常用]
  • line-through 删除线 [不常用]

例如 B 站这里的导航链接, 就是使用 none 属性去的掉的下划线. [可以 F12 观察]

image-20220914193544102

5.2.4 文本缩进

控制段落的 首行 缩进 (其他行不影响)

text-indent: [值];
  • 单位可以使用 px 或者 em.
  • 使用 em 作为单位更好. 1 个 em 就是当前元素的文字大小.
  • 缩进可以是负的, 表示往左缩进. (会导致文字就冒出去了)
<style>
    .text-indent .one {
       text-indent: 2em;
     }
    .text-indent .two {
       text-indent: -2em;
     }
</style>
<div class="text-indent">
    <div class="one">正常缩进</div>
    <div class="two">反向缩进</div>
</div>

image-20220914193801414

5.2.5 行高
行高 = 文字高度 + 行间距

行高指的是上下文本行之间的基线距离

image-20220914194200068

基线之间的距离 = 顶线间距离 = 底线间距离 = 中线间距离 = 行高
line-height: [值];

CSS里没有一个单独的属性控制行间距,但是可以通过 行高 & 文字高度 互相配合,就可以设置出不同的行间距了

5.3 背景属性

5.3.1 背景颜色
background-color: [指定颜色]

默认是 transparent (透明) 的. 可以通过设置颜色的方式修改

<style>
   body {
      background-color: #f3f3f3;
   }
   .bgc .one {
      background-color: red;
   }
   .bgc .two {
      background-color: #0f0;
   }
   .bgc .three {
    /* 背景透明 */
      background-color: transparent;
   }
</style>
<div class="bgc">
   <div class="one">红色背景</div>
   <div class="two">绿色背景</div>
   <div class="three">透明背景</div>
</div>
5.3.2 背景图片
background-image: url(...);

比 image 更方便控制位置(图片在盒子中的位置)

注意:

  1. url 不要遗漏.
  2. url 可以是绝对路径, 也可以是相对路径
  3. url 上可以加引号, 也可以不加.
<style>
   .bgi .one {
       background-image: url(rose.jpg);
       height: 300px;
    }
</style>
<div class="bgi">
    <div class="one">背景图片</div>
</div>

重要取值:

  • repeat: 平铺
  • no-repeat: 不平铺
  • repeat-x: 水平平铺
  • repeat-y: 垂直平铺

#####5.3.3 背景位置

background-position: x y;

参数有三种风格:

  1. 方位名词: (top, left, right, bottom)
  2. 精确单位: 坐标或者百分比(以左上角为原点)
  3. 混合单位: 同时包含方位名词和精确单位
<style>
    .bgp .one {
        background-image: url(rose.jpg);
        height: 500px;
        background-repeat: no-repeat;
        background-color: purple;
        background-position: center;
     }
</style>
<div class="bgp">
    <div class="one">背景居中</div>
</div>

计算机中的平面坐标系, 一般是左手坐标系

image-20220914200503487
5.3.4 背景尺寸
background-size: length|percentage|cover|contain;
  • 可以填具体的数值: 如 40px 60px 表示宽度为 40px, 高度为 60px
  • 也可以填百分比: 按照父元素的尺寸设置.
  • cover: 把背景图像扩展至足够大,以使背景图像完全覆盖背景区域。背景图像的某些部分也许无法显示在背景定位区域中。
  • 把图像图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域

5.4 圆角矩形

通过 border-radius 使边框带圆角效果.

length 是内切圆的半径. 数值越大, 弧线越强烈

image-20220915124343098
<div>hello</div>
div {
      width: 200px;
      height: 100px;
      border: 2px solid green;
      border-radius: 10px;
}

效果展示

image-20220915124553104

生成圆形

border-radius 的值为正方形宽度的一半即可

div {
   width: 200px;
   height: 200px;
   border: 2px solid green;
   border-radius: 100px;
   /* 或者用 50% 表示宽度的一半 */
   border-radius: 50%;
}

生成圆角矩形

border-radius 的值为矩形高度的一半即可

div {
    width: 200px;
    height: 100px;
    border: 2px solid green;
    border-radius: 50px;
}

image-20220915124905742

###6 元素的显示模式

上述内,介绍的是一个元素自身的相关样式属性

接下来介绍一些 元素和元素 之间的相关样式属性 ——> 布局

image-20220915134106110

6.1 块级元素

h1 - h6
p
div
ul
ol
li
...
  • 独占一行
  • 高度, 宽度, 内外边距, 行高都可以控制.
  • 宽度默认是父级元素宽度的 100% (和父元素一样宽)
  • 是一个容器(盒子), 里面可以放行内和块级元素

6.2 行内元素

a
strong
b
em
i
del
s
ins
u
span
...
  • 不独占一行, 一行可以显示多个
  • 设置高度, 宽度, 行高无效
  • 左右外边距有效(上下无效). 内边距有效.
  • 默认宽度就是本身的内容
  • 行内元素只能容纳文本和其他行内元素, 不能放块级元素

6.3 块级元素和行内元素的区别

  1. 块级元素独占一行;行内元素不独占一行.

  2. 块级元素,高度,宽度,内外边距,行高,都是可以控制的;而行内元素,设置高度,宽度,行高,都是无效的,设置内边距都有效,外边距的话,左右外边距有效,上下外边距无效.

  3. 块级元素默认的宽度,是和父元素一样宽;行内元素宽度则是内容本身 (里面包含的文字宽度是相关的)

  4. 块级元素,内部的元素可以是块级元素,也可以是行内元素;而行内元素内部的元素只能是文本或者行内元素,不能是块级元素

6.4 改变显示模式

使用 display 属性可以修改元素的显示模式

例:可以把 div 等变成行内元素, 也可以把 a , span 等变成块级元素.

  • display: block 改成块级元素 [常用]
  • display: inline 改成行内元素 [很少用]
  • display: inline-block 改成行内块元素 (即不独占一行,又有块元素的属性)
  • display: none 让元素隐藏,不显示

7 盒模型

HTML中元素最基本的排列规则:

  1. 每一个 HTML 元素就相当于是一个矩形的 “盒子”
  2. 这个盒子由这几个部分构成
  • 边框 border
  • 内容 content
  • 内边距 padding
  • 外边距 margin
image-20220915144610818

盒模型 不适用于 行内元素,都是以块级元素为基准来介绍的

7.1 边框

  • 粗细: border-width
  • 样式: border-style, 默认没边框。 1.solid 实线边框 2. dashed 虚线边框 3. dotted 点线边框
  • 颜色: border-color
div {
    width: 500px;
    height: 250px;
    border-width: 10px;
    border-style: solid;
    border-color: green;
}  
image-20220915151156728

边框会撑大盒子

image-20220915151739677

我们代码里写的尺寸是500*250,但是通过开发者工具查看到的实际尺寸是 520*270

这是为什么呢?

边框会撑大原有的盒子

如果想解决这个问题,怎么办?

image-20220915152210004

可以通过这个特殊的操作,如果不加,默认是 content-box ——边框会撑大盒子

通常会希望页面中所有的元素都能按照 boder-box 来进行布局,此时就可以使用 通配符选择器来实现了

image-20220915152431488

上面的代码也支持简写, 没有顺序要求

border: 1px solid red;

div {
    width: 500px;
    height: 250px;
    border: 10px solid green;
}  

可以改四个方向的任意边框

border-top/bottom/left/right

边框是分成四个方向的.

可以直接给四个方向都加边框,也可以只加某个方向.

还可以让不同的方向设置.上不同的边框

image-20220915152817787

7.2 内边距

默认内容是顶着边框来放置的. 用 padding 来控制这个距离 (内容和边框的距离)

可以给四个方向都加上边距

  • padding-top
  • padding-bottom
  • padding-left
  • padding-right
image-20220915154347839
  1. 内边距也会影响到盒子大小(撑大盒子)。
  2. 使用 box-sizing: border-box 属性也可以使内边距不再撑大盒子. (和上面 border 类似)
image-20220915154707264

7.3 外边距

控制 盒子和盒子 之间的距离(元素与元素之间的距离)

可以给四个方向都加上边距

  • margin-top
  • margin-bottom
  • margin-left
  • margin-right

复合写法的规则与padding 相同

margin: 10px; // 四个方向都设置
margin: 10px 20px; // 上下为 10, 左右 20
margin: 10px 20px 30px; // 上 10, 左右 20, 下 30
margin: 10px 20px 30px 40px; // 上 10, 右 20, 下 30, 左 40

7.4 块级元素水平居中

注意 是元素水平居中,不是文字水平居中

前提:

  • 指定宽度(如果不指定宽度, 默认和父元素一致)
  • 把水平(左右方向的) margin 设为 auto

三种写法均可

margin-left: auto; margin-right: auto;
margin: auto;
margin: 0 auto;

8 弹性布局

这是CSS后来引入的特性,使用弹性布局,就可以代替很多旧式的写法,是页面的布局更加简单方便,并且更符合逻辑

初次感受

创建一个 div, 内部包含三个 span

    <div>
        <span>1</span>
        <span>2</span>
        <span>3</span>
    </div>

    <style>
        div {
            width: 100%;
            height: 150px;
            background-color: red;
        }
        div>span {
            background-color: green;
            width: 100px;
        }
    </style>

此时我们看到的效果是

image-20220915184003571

我们稍稍改进~

给 div 加上 display:flex; 之后, 效果为

image-20220915184102514

此时我们发现,span 有了高度, 不再是 “行内元素了”

再给div加上 justify-content: space-around; 此时效果为

image-20220915184705969

此时可以看到这些 span 已经能够水平隔开了

然后再把 justify-content: space-around; 改为 justify-content: flex-end; 可以看到此时三个元素在
右侧显示了.

image-20220915184812171

8.1 弹性布局基本概念

flex 是 flexible box 的缩写. 意思为 “弹性盒子”

当给一个元素设为display: flex此时子元素就不再遵守原来的"块级元素" "行内元素"的规则了,变成了弹性元素

这些元素就会按照弹性布局的规则来排列(但是不影响孙子元素)

flex 布局的本质是给父盒子添加 display:flex 属性, 来控制子盒子的位置和排列方式.

  • 被设置为 display:flex 属性的元素, 称为 flex container
  • 它的所有子元素立刻称为了该容器的成员, 称为 flex item
  • flex item 可以纵向排列, 也可以横向排列, 称为 flex direction(主轴)

image-20220916193621903

8.2 弹性布局常用的属性

#####8.2.1 display: flex;

开启弹性布局

8.2.2justify-content

设置主轴上的子元素排列方式

使用之前一定要确定好主轴是哪个方向

属性取值

image-20220916194214098

    <div>
        <span>1</span>
        <span>2</span>
        <span>3</span>
    </div>


    <style>
        div {
            width: 100%;
            height: 150px;
            background-color: red;
            display:flex;
            /* justify-content: flex-start; */
        }
        div>span {
            background-color: green;
            width: 100px;
            height: 100px;
        }
    </style>

未指定 justify-content 时, 默认按照从左到右的方向布局 (和 justify-content: flex-start; 效果一样)

image-20220916195300981

设置 justify-content: flex-end; , 此时元素都排列到右侧了.

image-20220916195455035

设置 jutify-content: center; , 此时元素居中排列

image-20220916195615773

设置 justify-content: space-around; 平分了剩余空间

image-20220916200832777

设置 justify-content: space-between; 先两边元素贴近边缘, 再平分剩余空间

image-20220916200949145

justify-content: space-around;justify-content: space-between; 的应用非常广泛

像淘宝、B站等都是基于它们布局的

image-20220916201659796

8.2.3 align-items

描述的侧轴上的排列方式(侧轴是和主轴垂直的方向)

在上面的代码中, 我们是让元素按照主轴的方向排列, 同理我们也可以指定元素按照侧轴方向排列

image-20220916202422495

取值和 justify-content 差不多

垂直居中 align-items: center

image-20220916202636367

相关文章:

  • python-- for循环的基础语法
  • _Linux进程控制
  • vue3.0--1.vue3.0环境集成、setup、ref函数、reactive函数、计算属性(computed)
  • 基于Opencv5.x(C++)流媒体视频流实现网页浏览器人脸检测
  • 网络安全——XSS跨站脚本攻击
  • AT24C02存储与读取数据
  • Linux高级编程--gdb调试
  • 家校协同小程序实战教程
  • 沉睡者C - 想要通过网上来赚钱,悟性很重要
  • Java集合面试小结(2)
  • 【uiautomation】微信群发消息,可发送文本 文件
  • 【network】windows 获取Adapter 名称
  • Python 基础学习
  • 网课搜题接口公众号搭建详细步骤
  • 继承的使用以及super关键字和重写以及Object类
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • 2017 年终总结 —— 在路上
  • IDEA常用插件整理
  • Javascript Math对象和Date对象常用方法详解
  • laravel 用artisan创建自己的模板
  • Linux CTF 逆向入门
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • SSH 免密登录
  • 给github项目添加CI badge
  • 关于extract.autodesk.io的一些说明
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 使用 QuickBI 搭建酷炫可视化分析
  • 我这样减少了26.5M Java内存!
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • 数据可视化之下发图实践
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #if 1...#endif
  • (7)STL算法之交换赋值
  • (安卓)跳转应用市场APP详情页的方式
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (简单) HDU 2612 Find a way,BFS。
  • (算法)求1到1亿间的质数或素数
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (轉貼) UML中文FAQ (OO) (UML)
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .equals()到底是什么意思?
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .NET 中 GetProcess 相关方法的性能
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .net访问oracle数据库性能问题
  • .NET连接MongoDB数据库实例教程
  • ??在JSP中,java和JavaScript如何交互?
  • @ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解