从 HTML 到 CSS:开启网页样式之旅(五)—— CSS盒子模型

从 HTML 到 CSS:开启网页样式之旅(五)—— CSS盒子模型

  • 前言
  • 一、盒子模型的组成
    • margin(外边距):
    • border(边框):
    • padding(内边距):
    • content(内容):
  • 二、盒子内容区(content)
    • 关于默认宽度
  • 三、盒子内边距(padding)
  • 四、盒子边框(border)
  • 五、盒子外边距(margin)
    • 1.margin 属性设置
    • 2.margin 注意事项:
    • 3.margin 塌陷问题:
    • 4.margin 合并问题:
  • 六、处理内容溢出
    • 1. overflow属性介绍
    • 2.visible(默认值)
    • 3.hidden
    • 4.scroll
    • 5.auto
    • 6.overflow-x和overflow-y属性
  • 七、隐藏元素的方式
    • 1.display: none;
    • 2.visibility: hidden;
    • 3.opacity: 0;


前言

  • 之前的博客中,我们深入了解了 CSS 的长度单位与元素的各种显示模式,这些知识对于我们构建网页样式起到了重要的铺垫作用。
  • 而今天,我们要进一步探索CSS 盒子模型,它可是 CSS 布局的核心概念之一,掌握了它,就能更加精准地控制网页元素的呈现效果

一、盒子模型的组成

在这里插入图片描述

  • CSS 会把所有的 HTML 元素都看成一个盒子, 所有的样式也都是基于这个盒子来设置的。这个盒子主要由以下几个部分组成:

margin(外边距):

它表示盒子与外界的距离呢。需要注意的是,margin 不会影响盒子本身的大小,但会对盒子的位置产生影响。

  • 用法
.box {
        
            margin: 20px;
        }
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title> Margin Example </title>
    <style>
       .box1 {
            background-color: lightblue;
            margin: 20px;
        }

       .box2 {
            background-color: lightgreen;
            margin: 10px;
        }
    </style>
</head>

<body>
    <div class="box1">
        这是第一个盒子,设置了20px的外边距,你可以看到它与页面边缘以及其他元素之间有一定的间隔。
    </div>
    <div class="box2">
        这是第二个盒子,设置了10px的外边距,和第一个盒子相比,它与周围的间隔会有所不同。
    </div>
</body>

</html>

在这里插入图片描述

border(边框):

就是盒子的边框,通过相关属性可以设置边框的风格、宽度和颜色等。

 .box {
            border-style: solid;
            border-width: 3px;
            border-color: black;
          
        }
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title> Border Example </title>
    <style>
       .box {
            border-style: solid;
            border-width: 3px;
            border-color: black;
            background-color: lightyellow;
            padding: 10px;
            width: 200px;
            height: 150px;
        }
    </style>
</head>

<body>
    <div class="box">
        这里是盒子里面的内容哦,通过设置边框的样式、宽度和颜色,让盒子有了一个明显的边界呢。
    </div>
</body>

</html>

在这里插入图片描述

padding(内边距):

这是紧贴着内容的补白区域,能让内容和边框之间有一定的间隔。
用法

  .box {
            padding: 15px;
        }
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title> Padding Example </title>
    <style>
       .box {
            background-color: lightcoral;
            padding: 15px;
            border: 1px solid gray;
        }
    </style>
</head>

<body>
    <div class="box">
        这里是盒子里面的内容哦,通过设置15px的内边距,你可以看到内容与边框之间有了一定的间隔呢,让整个盒子看起来更加美观和清晰啦。
    </div>
</body>

</html>

在这里插入图片描述

content(内容):

元素中的文本或者后代元素等都属于它的内容。

盒子的大小计算公式是

  • 盒子的大小 = content + 左右 padding + 左右 border

外边距margin 不会影响盒子的大小,但会影响盒子的位置

二、盒子内容区(content)

在设置内容区的时候,我们有以下这些常用的 CSS 属性
在这里插入图片描述

下面来详细讲解一下各部分
  • width

用来设置内容区域的宽度,属性值是长度。

  • max-width

可以设置内容区域的最大宽度,同样是长度值。不过要注意,一般它不与 width 一起使用。

  • min-width

这个属性是设置内容区域的最小宽度的,也是长度值,同样通常不与 width 一起用。

  • height

用于设置内容区域的高度,属性值为长度。

  • max-height

设置内容区域的最大高度,是长度值,一般不与 height 一起使用。

  • min-height

设置内容区域的最小高度,也是长度值,通常不与 height 一起使用

关于默认宽度

当我们不设置 width 属性时,元素会呈现出默认宽度。这里有两个关于默认宽度的公式:

  • 总宽度 = 父的 content — 自身的左右 margin 。
  • 内容区的宽度 = 父的 content — 自身的左右 margin — 自身的左右 border — 自身的左右 padding 。

三、盒子内边距(padding)

  • padding 是个复合属性它的使用规则如下:
    在这里插入图片描述
  • padding: 10px; 这种情况下,四个方向的内边距都是 10px
  • padding: 10px 20px; 此时是上 10px,左右 20px(也就是上下、左右的设置方式)
  • padding: 10px 20px 30px; 这里就是上 10px,左右 20px,下 30px(上、左右、下的设置顺序)
  • padding: 10px 20px 30px 40px; 那就是上 10px,右 20px,下 30px,左 40px(上、右、下、左的设置顺序)
这里还有几个注意点
  • padding 的值是不能为负数的哟。
  • 对于行内元素来说,上下内边距不能完美地设置
  • 块级元素、四个方向的内边距都可以完美设置

四、盒子边框(border)

  • 边框相关的属性有 20 个之多
  • 像 border-style、border-width、border-color 其实也是复合属性
    在这里插入图片描述

五、盒子外边距(margin)

1.margin 属性设置

在这里插入图片描述

  • margin-left:设置左外边距,属性值是 CSS 中的长度值。
  • margin-right:设置右外边距,也是 CSS 中的长度值。
  • margin-top:设置上外边距,同样是长度值。
  • margin-bottom:设置下外边距,还是长度值。
  • margin:这是个复合属性,可以写 1~4 个值,规律和 padding 是一样的(顺时针方向),属性值也是 CSS 中的长度值呢

例子

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Margin Example</title>
    <style>
        /* 第一个盒子,设置不同方向的外边距 */
      .box1 {
            background-color: lightblue;
            width: 200px;
            height: 150px;
            margin-left: 30px;
            margin-right: 20px;
            margin-top: 15px;
            margin-bottom: 10px;
        }

        /* 第二个盒子,使用复合属性margin设置外边距 */
      .box2 {
            background-color: lightgreen;
            width: 150px;
            height: 120px;
            margin: 10px 20px 15px 25px; /* 顺时针方向:上 右 下 左 */
        }

        /* 第三个盒子,使用复合属性margin设置外边距,只写两个值 */
      .box3 {
            background-color: lightcoral;
            width: 180px;
            height: 130px;
            margin: 12px 18px; /* 上下为12px,左右为18px */
        }

        /* 第四个盒子,使用复合属性margin设置外边距,只写一个值 */
      .box4 {
            background-color: lightyellow;
            width: 160px;
            height: 140px;
            margin: 20px; /* 四个方向的外边距都为20px */
        }
    </style>
</head>

<body>
    <div class="box1">
        这是第一个盒子,通过分别设置margin-left、margin-right、margin-top和margin-bottom来控制外边距哦。
    </div>
    <div class="box2">
        这是第二个盒子,使用复合属性margin设置外边距,这里按照顺时针方向分别设置了上、右、下、左的外边距哦。
    </div>
    <div class="box3">
        这是第三个盒子,使用复合属性margin设置外边距,只写了两个值,分别对应上下和左右的外边距哦。
    </div>
    <div class="box4">
        这是第四个盒子,使用复合属性margin设置外边距,只写了一个值,四个方向的外边距都设置为相同的值哦。
    </div>
</body>

</html>

在这里插入图片描述

2.margin 注意事项:

  • 子元素的 margin,是参考父元素的 content 来计算的,因为是在父亲的 content 中承装着子元素。
  • 上 margin、左 margin 会影响自己的位置
  • 下 margin、右 margin 则会影响后面兄弟元素的位置。
  • 块级元素、行内块元素都能完美地设置四个方向的 margin;
  • 行内元素就有点特别,左右margin 可以完美设置,上下 margin 设置可就无效
  • margin 的值还可以是 auto ,如果给一个块级元素设置左右 margin 都为 auto,那这个块级元素就会在父元素中水平居中。
  • margin 的值是可以为负值

3.margin 塌陷问题:

什么是 margin 塌陷?就是第一个子元素的上 margin 会作用在父元素上,最后一个子元素的下 margin 也会作用在父元素上

  • 例如
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    /* 父元素样式 */
   .parent {
      width: 300px;
      height: 300px;
      background-color: lightblue;
      /* 为了更明显看出效果,给父元素添加边框 */
      border: 1px solid black;
    }

    /* 子元素样式 */
   .child {
      width: 200px;
      height: 100px;
      background-color: pink;
      margin-top: 50px;
      margin-bottom: 30px;
    }
  </style>
  <title>Margin塌陷示例</title>
</head>

<body>
  <div class="parent">
    <div class="child"></div>
  </div>
</body>

</html>

在这里插入图片描述

按照正常理解,如果没有 margin 塌陷问题,父元素应该保持自身的高度 300px 不变,子元素在父元素内部根据设置的 margin 来调整位置。但实际上,由于 margin 塌陷现象,你会发现父元素的上边框和子元素的上边缘之间的距离并不是设置的 50px(而是子元素的上 margin 作用到了父元素上,使得父元素的上边框和子元素上边缘重合了),同样,父元素的下边框和子元素的下边缘之间的距离也不是设置的 30px(子元素的下 margin 也作用到了父元素上)

那怎么解决这个问题?
有以下几种方案

  • 方案一:给父元素设置不为 0 的 padding 。
  • 方案二:给父元素设置宽度不为 0 的 border 。
  • 方案三:给父元素设置 css 样式 overflow:hidden

4.margin 合并问题:

什么是 margin 合并?
就是上面兄弟元素的下外边距和下面兄弟元素的上外边距会合并,取一个最大的值,而不是相加。

  • 怎么解决这个问题呢?其实呀,在布局的时候上下的兄弟元素,只给一个设置上下外边距就可以啦,无需特别去解决。

六、处理内容溢出

  • 当内容超出盒子的范围时,我们可以通过 overflow 相关属性来处理
    在这里插入图片描述
下面来详细降解一下各部分

1. overflow属性介绍

2.visible(默认值)

内容会溢出元素框并且可见,超出部分会直接显示在盒子外面

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Overflow Visible Example</title>
    <style>
      .box {
            width: 200px;
            height: 150px;
            border: 1px solid black;
            overflow: visible;
        }
    </style>
</head>

<body>
    <div class="box">
        这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的文字内容,这里是一段很长很长的语文内容,用来测试当overflow设置为visible时的效果,你会发现文字会超出盒子的边界直接显示出来哦。
    </div>
</body>

</html>

在这里插入图片描述

3.hidden

内容超出盒子范围的部分会被隐藏,不会显示在页面上

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Overflow Hidden Example</title>
    <style>
      .box {
            width: 200px;
            height: 150px;
            border: 1px solid black;
            overflow: hidden;
        }
    </style>
</head>

<body>
    <div class="box">
        同样是一段很长很长的文字内容,这次overflow设置为hidden,你会看到超出盒子范围的文字部分都被隐藏起来啦,看不到咯。
    </div>
</body>

</html>

在这里插入图片描述

4.scroll

无论内容是否超出盒子范围,都会显示滚动条,用户可以通过滚动条来查看全部内容
在这里插入图片描述

5.auto

当内容超出盒子范围时,会自动显示滚动条;如果内容没有超出,则不会显示滚动条

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport"="width=device-width, initial-scale=1.0">
    <title>Overflow Auto Example</title>
    <style>
      .box {
            width: 200px;
            height: 150px;
            border: 1px solid black;
            overflow: auto;
        }
    </style>
</head>

<body>
    <div class="box">
        这里的文字内容长度适中,当overflow设置为auto时,如果文字没有超出盒子范围,就不会有滚动条;但如果把文字内容改得很长很长,超出盒子了,就会自动出现滚动条哦。
    </div>
</body>

</html>

在这里插入图片描述

6.overflow-x和overflow-y属性

除了overflow属性外,我们还可以分别对水平方向和垂直方向的内容溢出进行单独设置,这就用到了overflow-x和overflow-y属性。它们的取值和overflow属性类似,例如

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport"="width=device-width, initial-scale=1.0">
    <title>Overflow X and Y Example</title>
    <style>
      .box {
            width: 200px;
            height: 150px;
            border: 1px solid black;
            overflow-x: scroll; /* 水平方向设置为滚动条显示方式 */
            overflow-y: hidden; /* 垂直方向设置为隐藏超出部分 */
        }
    </style>
</head>

<body>
    <div class="box">
        这里是一些内容,其中包含了比较长的文字以及可能会超出盒子宽度的图片等元素哦。通过设置overflow-x和overflow-y,你可以看到水平方向有滚动条可查看超出部分,而垂直方向超出的部分则被隐藏起来啦。
    </div>
</body>

</html>

在这里插入图片描述

在这里插入图片描述

七、隐藏元素的方式

在网页设计中,有时候我们需要根据特定的条件隐藏某些元素。以下是几种常见的隐藏元素的方式

1.display: none;

当我们给一个元素设置display: none;时,该元素及其所有内容都会从页面布局中完全移除,就好像这个元素从来不存在一样。它不会占据任何空间,其他元素会自动填补它原本所在的位置。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport"="width=device-width, initial-scale=1.0">
    <title>Display None Example</title>
    <style>
      .hidden-element {
            display: none;
        }
    </style>
</head>

<body>
    <div class="visible-element">
        这是一个可见的元素哦,你可以看到我正常显示在这里呢。
    </div>
    <div class="hidden-element">
        我是被设置为display:none的元素,现在你看不到我啦,而且我原本占的地方也被其他元素占了哦。
    </div>
    <div class="visible-element">
        这又是一个可见的元素哦,我在被隐藏元素的后面呢,已经填补了它原本的位置啦。
    </div>
</body>

</html>

在这里插入图片描述

2.visibility: hidden;

与display: none;不同的是,当设置visibility: hidden;时,元素虽然在页面上不可见了,但它仍然占据着原来的空间位置,其他元素不会填补它的位置。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport"="width=device-width, initial-scale=1.0">
    <title>Visibility Hidden Example</title>
    <style>
      .invisible-element {
            visibility: hidden;
        }
    </style>
</head>

<body>
    <div class="visible-element">
        这是一个可见的元素哦,你可以看到我正常显示在这里呢。
    </div>
    <div class="invisible-element">
        我是被设置为visibility:hidden的元素,现在你看不到我啦,但我还占着我原来的地方哦,其他元素可没法填补我的位置呢。
    </div>
    <div class="visible-element">
        这又是一个可见的元素哦,我在被隐藏元素的后面呢,它占着位置,我就只能在这儿啦。
    </div>
</body>

</html>

在这里插入图片描述

3.opacity: 0;

设置opacity: 0;会使元素完全透明,从而在视觉上看起来好像隐藏了一样。但与前两种方式不同的是,它仍然可以响应鼠标事件等交互操作,并且同样占据着原来的空间位置

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport"="width=device-width, initial-scale=1.0">
    <title>Opacity Zero Example</title>
    <style>
      .transparent-element {
            opacity: 0;
        }
    </style>
</head>

<body>
    <div class="visible-element">
        这是一个可见的元素哦,你可以看到我正常显示在这里呢。
    </div>
    <div class="transparent-element">
        我是被设置为opacity:0的元素,现在你看不到我啦,但我还占着我原来的地方哦,而且你要是在我这儿点鼠标,还是会有反应的呢,因为我只是透明了而已呀。
    </div>
    <div class="visible-element">
        这又是一个可见的元素哦,我在被隐藏元素的后面呢,它占着位置,我就只能在这儿啦。
    </div>
</body>

</html>

在这里插入图片描述


非常感谢您的阅读,喜欢的话记得三连哦

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【区块链】深入理解区块链中的 Gas 机制

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 深入理解区块链中的 Gas 机制一、Gas 的基本概念1.1 为什么需要 Gas&#xff1f…

黑马JavaWeb-day06、07、08(SQL部分) _

文章目录 MYSQL概述数据模型SQL简介SQL分类 DDL数据库操作表操作 DML增&#xff08;INSERT&#xff09;改&#xff08;UPDATE&#xff09;删&#xff08;DELETE&#xff09; DQL基本查询条件查询&#xff08;where&#xff09;分组查询&#xff08;group by&#xff09;排序查询…

Kubernetes集群操作

查看集群信息&#xff1a; kubectl get nodes 删除节点 &#xff08;⽆效且显示的也可以删除&#xff09; 后期如果 要删除某个节点&#xff0c;为了不增加其他节点的访问压力&#xff0c;先增加一个节点&#xff0c;再删除要删除的节点 语法 &#xff1a;kubect delete…

基于PSO粒子群优化的CNN-LSTM-SAM网络时间序列回归预测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 &#xff08;完整版代码包含详细中文注释和操作步骤视频&#xff09…

三步入门Log4J 的使用

本篇基于Maven 的Project项目&#xff0c; 快速演示Log4j 的导入和演示。 第一步&#xff1a; 导入Log4j依赖 <dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.24.2</version&…

Redis 基础、Redis 应用

Redis 基础 什么是 Redis&#xff1f; Redis &#xff08;REmote DIctionary Server&#xff09;是一个基于 C 语言开发的开源 NoSQL 数据库&#xff08;BSD 许可&#xff09;。与传统数据库不同的是&#xff0c;Redis 的数据是保存在内存中的&#xff08;内存数据库&#xf…

3D数据大屏实现过程,使用echarts、Next.js

&#x1f4dc; 本文主要内容 数据大屏自适应方案动效 echarts&#xff1a; 3D 立体柱状图动态流光折线图 3D 地球&#xff08;飞线、柱状图&#xff09;无限滚动列表 &#x1f50d; 大屏效果 数据大屏&#xff1a; 点击预览 &#x1f579; 运行条件 next 12.3.4echarts 5.4…

标贝科技受邀出席2024东湖国际人工智能高峰论坛并入选数据要素合作伙伴名单

近日&#xff0c;备受瞩目的2024东湖国际人工智能高峰论坛在中国光谷科技会展中心隆重召开。会议以“智联世界&#xff0c;共创未来”为主题&#xff0c;省市相关单位、专家学者、产学研各界百余家联合体单位齐聚一堂&#xff0c;共话人工智能领域的最新技术及产业发展趋势。会…

unity与android拓展

一.AndroidStudio打包 1.通过Unity导出Android Studio能够打开的工程 步骤 1.设置导出基本信息&#xff1a;公司名、游戏名、图标、包名等关键信息 2.在File——>Build Settings中&#xff0c;勾选 Export Project 选项 3.点击Export 导出按钮 2.在Android Studio中打开Un…

linux通过fork()和execve()调用其他程序在子线程中运行

fork()的的使用见上一期 linux C fork()和系统调用文件-CSDN博客 简单说一下fork的作用就是创造一个子进程和当前进程一起执行下面的代码 pid_t fork(void) execve的作用为&#xff1a;让当前进程内容销毁大部分&#xff0c;重新执行一个程序 int execve (const char *__path…

整数benders分解算法

benders分解是将问题分为限制主问题和子问题&#xff0c;然后主问题向子问题传入变量&#xff0c;接着根据子问题求解的信息向主问题返回割&#xff08;最优割和可行割&#xff09;&#xff0c;这些割以约束的形式被添加到主问题中。其中&#xff0c;子问题因为求解得到的解是可…

Unity之(多语言)Localization本地化工具

一、安装和配置 Localization Localization是Unity基于对多种语言和区域变体所设计的一个本地化工具&#xff0c;常用与切换多国语言时文本、图片的动态替换。 1.安装Localization插件 Window—> Package Manager&#xff0c;打开Package Manager面板 Packages选择Unity Re…

使用Mac下载MySQL修改密码第一篇_数据库

Mac下载MySQL MySQL官网链接MySQL​​​​​​ 当进入到官网后下滑到community社区&#xff0c;进行下载 然后选择community sever下载 这里就是要下载的界面&#xff0c;如果需要下载之前版本的话可以点击archives&#xff0c; 可能会因为这是外网原因&#xff0c;有时候下…

服务器数据恢复—EVA存储硬盘磁头和盘片损坏离线的数据恢复案例

服务器存储数据恢复环境&故障&#xff1a; 一台HP EVA存储中有23块硬盘&#xff0c;挂接到一台windows server操作系统的服务器。 EVA存储上有三个硬盘指示灯亮黄灯&#xff0c;此刻存储还能正常使用。管理员在更换硬盘的过程中&#xff0c;又出现一块硬盘对应的指示灯亮黄…

Linux 网络基础

文章目录 1. 计算机网络背景2. 协议2.1 OSI七层模型2.2 为什么要有TCP/IP协议&#xff1f; 3. 协议与操作系统的关系4. 网络传输基本流程4.1 局域网通信原理4.2 局域网通信流程4.3 跨网络通信流程 5. Socket编程预备知识5.1 端口号5.2 网络字节序5.3 socket编程接口 6. 网络命令…

一站式指导:在Neo4j与PostgreSQL间实现高效数据同步

作者&#xff1a;后端小肥肠 &#x1f347; 我写过的文章中的相关代码放到了gitee&#xff0c;地址&#xff1a;xfc-fdw-cloud: 公共解决方案 &#x1f34a; 有疑问可私信或评论区联系我。 &#x1f951; 创作不易未经允许严禁转载。 姊妹篇&#xff1a; 数据同步的艺术&#…

AI一键生成原创圣诞印花图案

一、引言 随着科技的飞速发展&#xff0c;AI 已经深入到我们生活和工作的各个角落&#xff0c;为创意设计领域带来了前所未有的变革。在圣诞即将来临之际&#xff0c;想要设计独特的圣诞印花图案却又担心缺乏灵感或专业技能&#xff1f;别担心&#xff0c;千鹿 AI 为我们提供了…

视频 的 音频通道提取 以及 视频转URL 的在线工具!

视频 的 音频通道提取 以及 视频转URL 的在线工具&#xff01; 工具地址: https://www.lingyuzhao.top/toolsPage/VideoTo.html 它提供了便捷的方法来处理视频文件&#xff0c;具体来说是帮助用户从视频中提取音频轨道&#xff0c;并将视频转换为可以通过网络访问的URL链接。无…

图片的懒加载

目录 懒加载的来源 事件监听 IntersectionObserver 懒加载的来源 图片的来加载其实就是延迟加载&#xff0c;我们知道浏览器的可视范围是有限的&#xff0c;现在网页的内容越来越丰富&#xff0c;一般网页的内容都是需要滚动才能完成浏览 如果网页有很多图片&#xff0c;然…

【每日刷题】Day162

【每日刷题】Day162 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 3302. 字典序最小的合法序列 - 力扣&#xff08;LeetCode&#xff09; 2. 44. 通配符匹配 - 力扣&…