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

CSS中要注意的样式效果

1. 应用过渡效果

transition: var(--aa);

2.告诉浏览器元素可能会发生变换,从而优化性能。

will-change: transform;

3.使元素不响应鼠标事件。

pointer-events: none;

4.隐藏水平方向上的溢出内容

overflow-x: hidden;

5.定义一个元素的宽度和高度之间的比例关系

  aspect-ratio: var(--width) / var(--height);

6.元素的宽度会根据其内容自动调整,但不会超过其父容器的宽度。这种设置通常用于确保元素在内容较多时能够扩展到足够宽,同时在内容较少时保持紧凑。

max-width: max-content;

7.定义一个复杂的内阴影效果,用于创建一种特殊的视觉效果。
 

  • box-shadow 属性box-shadow 用于向元素添加一个或多个阴影效果。它可以接受多个值,每个值代表一个阴影。
  • inset 关键字:表示阴影是内阴影,即阴影在元素内部显示,而不是外部。
  • 55vw 0 0 0 var(--bg-white) 和 -55vw 0 0 0 var(--bg-white)
    • 55vw 和 -55vw:表示阴影的水平偏移量。55vw 表示视口宽度的55%,而 -55vw 表示从右侧开始的55%视口宽度。
    • 0:表示阴影的垂直偏移量为0。
    • 0:表示阴影的模糊半径为0,即没有模糊效果。
    • 0:表示阴影的扩展半径为0,即没有扩展效果。
    • var(--bg-white):表示阴影的颜色,这里使用了CSS变量 --bg-white,通常这个变量会被定义为白色。

实际效果

  • inset 55vw 0 0 0 var(--bg-white):这个内阴影从左侧开始,覆盖了元素的55%宽度,并且颜色为白色。
  • inset -55vw 0 0 0 var(--bg-white):这个内阴影从右侧开始,覆盖了元素的55%宽度,并且颜色也为白色。

综合效果

这两个内阴影结合在一起,会在元素的左右两侧各创建一个白色的条带,每个条带覆盖了元素的55%宽度。这会产生一种特殊的视觉效果,使得元素看起来像是被两个白色的条带分割开。

  box-shadow: inset 55vw 0 0 0 var(--bg-white),inset -55vw 0 0 0 var(--bg-white);

8.定义一个持续时间为300毫秒、时间函数为 ease 且有500毫秒延迟的过渡效果。这种设置通常用于创建具有延迟和渐变效果的动画,以增强用户体验。你可以根据具体需求调整持续时间、时间函数和延迟时间,以达到最佳效果。

  • 300ms:这是过渡效果的持续时间,即300毫秒。
  • ease:这是过渡效果的时间函数,表示动画在开始时较慢,在中间加速,最后减速停止。ease 是一个常见的默认值。
  • 500ms:这是过渡效果的延迟时间,即在触发过渡效果后500毫秒才开始执行过渡。
transition: 300ms ease 500ms;

9.一个名为 loading 的动画,持续时间为1秒,时间函数为 linear,并且在动画结束后保持最后一帧的状态。

  • animation 属性animation 是一个简写属性,用于设置元素的动画效果。它允许你在一个声明中指定多个动画相关的属性。
  • loading:这是动画的名称,引用了在 @keyframes 规则中定义的具体动画。@keyframes 规则是用来定义动画的关键帧。
  • 1000ms:这是动画的持续时间,即1000毫秒(1秒)。这意味着整个动画将在1秒内完成。
  • linear:这是动画的时间函数(timing function),描述了动画过程中的速度变化。linear 表示动画在整个过程中以恒定的速度进行,没有加速或减速。
  • forwards:这是动画的填充模式(fill mode)之一,表示动画结束后,元素将保持在最后一帧的状态。具体来说:
    • forwards:动画结束后,元素将保留最后一帧的状态。
    • 其他常见的填充模式包括 nonebackwards 和 both
 animation: loading 1000ms linear forwards;

10.用于设置元素在块方向(即垂直方向)上的内边距。这个属性是CSS逻辑属性的一部分,它根据元素的书写模式(writing mode)来决定内边距的方向。

  • padding-block 属性:这个属性用于设置元素在块方向上的内边距。块方向通常是指垂直方向,但在不同的书写模式下可能会有所不同。
    • 在水平书写模式(如英文、中文等)中,padding-block 相当于 padding-top 和 padding-bottom
    • 在垂直书写模式(如日文竖排文本)中,padding-block 相当于 padding-left 和 padding-right

实际效果

  • 水平书写模式
    • padding-block: 20px; 会在元素的顶部和底部各添加20像素的内边距。
  • 垂直书写模式
    • padding-block: 20px; 会在元素的左侧和右侧各添加20像素的内边距。
 padding-block: 20px;

11.定义一个特定的样式规则,用于当某个元素处于:hover(鼠标悬停)或:focus-visible(键盘聚焦且可见)状态时改变其内部.line类元素的背景颜色。

.nav-open-btn:is(:hover, :focus-visible) .line {background-color: var(--bg-white);
}
  1. 选择器 .nav-open-btn:is(:hover, :focus-visible):

    • .nav-open-btn 是一个类选择器,意味着这个规则将应用于所有带有 nav-open-btn 类的HTML元素。
    • :is() 是一个伪类函数,它允许你将多个选择器组合在一起作为一个整体来使用。这里,:is(:hover, :focus-visible) 表示该规则适用于任何同时满足以下任一条件的情况:
      • 当用户把鼠标悬停在 .nav-open-btn 元素上时(即 :hover 状态)。
      • 当 .nav-open-btn 元素通过键盘导航获得焦点,并且这种焦点变化是可视化的(即 :focus-visible 状态)。:focus-visible 伪类特别设计来提高可访问性,确保只有当焦点变化对用户来说是显而易见的时候才应用样式,比如在键盘导航中。
  2. 后代选择器 .line:

    • 这表示上述规则不仅针对 .nav-open-btn 元素本身,还影响到其内的所有直接或间接子元素中带有 .line 类的元素。
  3. 声明 { background-color: var(--bg-white); }:

    • 当满足上述选择器条件时,所有匹配的 .line 元素的背景颜色将会被设置为 var(--bg-white) 的值。
    • var(--bg-white) 是一个CSS变量(也称为自定义属性),它的具体值通常是在CSS文件的其他地方或是通过JavaScript动态设置的。在这个例子中,--bg-white 可能是一个预定义的颜色值,比如白色 (#FFFFFF) 或者是与网站主题相关的某种特定白色调。
       

 12.visibility: hidden; 是CSS中用于控制元素可见性的属性值之一。使用这个属性值时,元素本身仍然占据页面布局中的空间(即它保留了其在文档流中的位置和大小),但是该元素及其内容对于用户来说是不可见的。这意味着虽然你看不到元素,但它实际上还是存在于页面上,并且会影响其他元素的位置和布局。

主要特点:

  • 不显示元素:设置了 visibility: hidden; 的元素不会被显示出来。
  • 保留空间:即使元素不可见,它仍然会占据原来的空间。也就是说,它周围的元素布局不会因为它的隐藏而发生变化。
  • 可访问性影响:对于屏幕阅读器等辅助技术而言,这种隐藏方式下的元素可能仍然是可访问的,除非你同时采取措施来确保这些元素也被排除出可访问性树之外。

与 display: none; 的对比:

  • display: none; 也会使元素变得不可见,但除此之外,它还会从页面布局中完全移除该元素,导致其他元素重新排列以填补空出来的空间。
  • visibility: hidden; 则只改变元素的可视状态而不影响布局结构。

使用场景示例:

  • 当你需要暂时隐藏某个元素,但又希望保持页面布局不变时,可以使用 visibility: hidden;
  • 如果你在实现某种动画效果或交互设计时需要元素在某些状态下消失而又不想引起布局变化,这也是一个合适的选择。
  visibility: hidden;display: none;

13.使用CSS逻辑属性来定义一个元素的底部内边距(padding)、边框和外边距。这些属性是基于块级布局方向(block direction)的,这意味着它们的行为会根据文档的书写模式(writing mode)自动调整。这使得样式更加灵活,尤其是在处理不同语言或不同方向的文本时。下面是每个属性的具体解释:
 

  1. padding-block-end: 20px;:

    • padding-block-end 是CSS逻辑属性之一,用于设置元素在块轴结束处的内边距。在水平从左到右书写模式(如英语)中,它等同于 padding-bottom;而在垂直书写模式或是从右向左书写模式下,它会相应地调整为对应的方向。
    • 在这里,值设为 20px,意味着元素内容与其边框之间的距离在块轴结束方向上为20像素。
  2. border-block-end: 1px solid var(--border-smoky-black);:

    • border-block-end 用来设置元素在块轴结束处的边框样式。同样,这个属性也适应于不同的书写模式。
    • 此处定义了一个宽度为 1px 的实线边框,并且颜色由CSS变量 --border-smoky-black 来指定。假设 --border-smoky-black 被定义为一种深灰色或黑色,那么这条边框就会呈现相应的颜色。
  3. margin-block-end: 10px;:

    • margin-block-end 用于控制元素与相邻元素之间在块轴结束方向上的外边距。其作用类似于 padding-block-end 和 border-block-end,但影响的是元素外部的空间。
    • 这里设置了 10px 的外边距,意味着当前元素与其他位于其下方(对于从左到右、从上到下的书写模式)的元素间会有10像素的距离。

总结

  • padding-block-end: 20px;: 设置了元素内容与底部边框之间的空间为20像素。
  • border-block-end: 1px solid var(--border-smoky-black);: 定义了一个1像素宽的实线边框,颜色依据 --border-smoky-black 变量设定。
  • margin-block-end: 10px;: 在元素底部添加了10像素的空白区域,用以分隔该元素和其他元素。

这些属性共同作用于增强页面布局的灵活性和可维护性,特别是在支持多种书写模式或多语言网站的设计中非常有用。

  padding-block-end: 20px;border-block-end: 1px solid var(--border-smoky-black);margin-block-end: 10px;

14.设置文本字体大小,2rem 表示字体大小为2个“根em”单位。
 

关于 rem 单位

  • rem (root em) 是相对于HTML文档根元素(即 <html> 元素)的字体大小来计算的。这意味着,无论你在页面中的哪个位置使用 rem 单位,它总是基于根元素的字体大小进行缩放。
  • 如果没有特别设定,浏览器默认的根元素字体大小通常是16px。因此,在这种情况下,2rem 就等于32px(2 * 16px)。

    使用场景

  • 响应式设计:由于 rem 基于根元素的字体大小,它非常适合创建响应式布局。你只需要调整根元素的字体大小,就可以影响整个页面上的所有用 rem 定义的尺寸。
  • 保持比例一致性:当需要确保页面上不同部分的字体大小保持一致的比例时,使用 rem 很有帮助。比如,你可以轻松地将标题、正文等不同部分的字体大小设置成与根字体大小成比例的值。
  • 可维护性:相比绝对单位如像素(px),使用相对单位如 rem 可以让你更容易地调整整体的设计风格,而无需修改每个单独的元素。
 font-size: 2rem;

15.创建一个简单的 <blockquote> 元素,其中包含一段多行的引用文本。

  1. <blockquote>:

    • <blockquote> 是一个HTML标签,用于表示一个长引用。它通常用来引用其他来源的内容,如书籍、文章或其他文档中的文字。
    • 这个标签本身没有类名,因此默认情况下会应用浏览器的默认样式。
  2. &ldquo;&rdquo;:

    • 这些是HTML实体,分别代表左双引号 () 和右双引号 ()。使用这些实体可以确保在不同浏览器和编码环境下正确显示引号。
    • 在现代HTML中,直接使用 Unicode 字符(如  和 )也是安全且推荐的做法。
  3. <br>:

    • <br> 是一个HTML标签,用于插入一个换行符。在这里,每个 <br> 标签都用于将文本分成不同的行,以保持诗歌或歌词的格式。
  4. 文本内容:

    • 引用的具体内容是一段诗或歌词,描述了缘分、命运以及对未来承诺的主题。

整体效果

  • 这段代码创建了一个简单的 <blockquote> 元素,其中包含一段多行的引用文本。
  • 每行文本之间使用 <br> 标签进行换行,以保持原始的格式。
  • 使用了HTML实体来确保引号的正确显示。

默认样式

大多数浏览器对 <blockquote> 元素有一些默认的样式,例如:

  • 通常会有一定的内边距(padding)。
  • 可能会有左边框(border-left)。
  • 文本可能会有缩进。
  • 字体样式可能是斜体或普通字体,具体取决于浏览器的默认设置。
 <blockquote>&ldquo; 缘分让我们相遇乱世以外命运却要我们危难中相爱也许未来遥远在光年之外我愿守候未知里为你等待 &rdquo;
</blockquote>

16.设置文本字符之间的间距
通过设置 letter-spacing,你可以控制文本中每个字符之间的额外空间量。这个属性可以应用于任何包含文本的HTML元素,如 <p>, <h1>, <span>, 等等。
 

属性解释

  • 2px: 这个值表示在每个字符之间添加2像素的额外间距。正值会增加字符间的间距,使文本看起来更宽松;负值则会减少字符间的间距,使文本看起来更紧凑。

使用场景

  • 提高可读性:适当增加字符间距可以使文本更易于阅读,尤其是在大标题或重要信息上。
  • 设计风格:通过调整字符间距,可以实现特定的设计效果,如复古风格、艺术字体等。
  • 响应式设计:在不同屏幕尺寸下,可能需要调整字符间距以适应不同的布局需求。
  letter-spacing: 2px;

17.负值的 text-indent 通常用于实现“悬挂缩进”效果,即让第一行文本与列表项或其他内容对齐。

用于设置文本块中第一行的缩进。这个属性可以应用于任何包含文本的HTML元素,如 <p>, <div>, <h1> 等。通过设置 text-indent,你可以控制段落或文本块的第一行相对于其余文本的位置。

属性解释

  • -15px: 这个值表示将第一行文本向左缩进15像素。负值会使第一行文本向左移动,超出其容器的边界。
  • 正值(如 15px)会使第一行文本向右缩进,即在段落的开始处留出空白。
  • 默认情况下,text-indent 的值是 0,表示没有缩进。

使用场景

  • 悬挂缩进:负值的 text-indent 通常用于实现“悬挂缩进”效果,即让第一行文本与列表项或其他内容对齐。
  • 特殊布局:在某些设计中,可能需要特定的文本布局效果,例如使文本看起来像是从左边框开始的。
 text-indent: -15px;

18.将元素的内容完全转换为灰度(即黑白)

属性解释

  • grayscale(1): 这个值表示将元素的内容完全转换为灰度(即黑白)。grayscale 函数接受一个参数,该参数是一个介于0到1之间的数值,或者是百分比。
    • 0 或 0%:表示没有灰度效果,元素保持其原始颜色。
    • 1 或 100%:表示完全灰度效果,元素变为黑白。
    • 中间值(例如 0.5 或 50%):表示部分灰度效果,元素的颜色会被部分去饱和。

使用场景

  • 黑白效果:将彩色图像或内容转换为黑白,以达到特定的设计效果或视觉风格。
  • 艺术效果:在某些设计中,使用灰度效果可以增加艺术感或复古感。
  • 强调对比:在某些情况下,使用灰度效果可以帮助突出某些元素,尤其是在彩色背景上显示黑白文本或图像时。
filter: grayscale(1);

19.使Flex项目能够根据其增长因子来分配Flex容器中的剩余空间

属性解释

  • flex-grow: 1;: 这个值表示项目将根据其增长因子来分配Flex容器中的剩余空间。具体来说:
    • 1 表示该项目将占据所有剩余空间的相同比例。
    • 如果多个项目都设置了 flex-grow: 1;,它们将平分剩余空间。
    • 如果不同的项目设置了不同的 flex-grow 值,例如 flex-grow: 2; 和 flex-grow: 1;,那么设置为 2 的项目将占据两倍于设置为 1 的项目的空间。

使用场景

  • 等分空间:当多个项目需要平分Flex容器中的剩余空间时。
  • 按比例分配空间:当需要按特定比例分配剩余空间时。
  • 自适应布局:创建响应式设计,使项目能够根据可用空间自动调整大小。

    注意事项

  • 默认值flex-grow 的默认值是 0,这意味着项目不会增长以填充剩余空间。
  • 其他Flex属性flex-grow 通常与 flex-shrink 和 flex-basis 一起使用,可以通过简写形式 flex 来设置。例如,flex: 1 1 0; 表示 flex-grow: 1;flex-shrink: 1;flex-basis: 0;
  • 兼容性:Flexbox布局在现代浏览器中得到了广泛支持,但在一些较旧的浏览器中可能需要前缀或不被支持。如果需要兼容旧浏览器,可以考虑使用备用方案或使用工具如Autoprefixer来添加必要的前缀。
 flex-grow: 1;

 20.控制Flex项目(即Flex容器内的子元素)在空间不足时如何收缩

 flex-shrink: 0;

这个属性定义了项目的收缩因子,决定了当Flex容器中的空间不足以容纳所有项目时,项目将如何缩小。

属性解释

  • flex-shrink: 0;:
    • 0 表示项目不会收缩。即使Flex容器中的空间不足,项目也会保持其原始大小。
    • 默认值是 1,这意味着如果空间不足,项目会按比例缩小以适应容器。

使用场景

  • 防止收缩:当需要确保某些项目在空间不足时不被压缩时。
  • 固定尺寸:当某些项目需要保持固定的尺寸,而不受其他项目的影响时。
  • 优先级:通过设置不同的 flex-shrink 值,可以控制哪些项目在空间不足时优先被压缩。

    其他可能的值
  • flex-shrink: 1;: 默认值,项目会按比例缩小。
  • flex-shrink: 2; 或更高值:项目会更快地缩小。

21.定义网格容器中列的大小和数量

grid-template-columns: 1fr 1fr;

这个属性指定了网格的列模板,其中 1fr 是一个单位,表示“fraction”(分数),即每一列将平分可用空间。

属性解释

  • grid-template-columns: 1fr 1fr;:
    • 1fr 表示一个分数单位,它会根据可用空间按比例分配。
    • 1fr 1fr 表示网格将被分成两列,每列占据相同的空间。具体来说,整个网格容器的宽度将被均分为两部分,每部分各占50%。

使用场景

  • 等分布局:当需要将网格容器均分为多列时。
  • 响应式设计:在不同屏幕尺寸下自动调整列宽,使布局适应不同的设备。
  • 自适应内容:当内容的大小不固定时,确保每列都能适配可用空间。

注意事项

  • 默认值:如果未指定 grid-template-columns,则默认情况下网格项目将按照自动排列的方式分布。
  • 其他值
    • 可以使用其他单位,如 px%emrem 等来定义列宽。
    • 可以混合使用不同的单位,例如 grid-template-columns: 100px 1fr 200px;
  • 兼容性:CSS Grid布局在现代浏览器中得到了广泛支持,但在一些较旧的浏览器中可能需要前缀或不被支持。如果需要兼容旧浏览器,可以考虑使用备用方案或使用工具如Autoprefixer来添加必要的前缀。

其他可能的值

  • grid-template-columns: 1fr 2fr;: 两列,第一列占据1份,第二列占据2份。
  • grid-template-columns: 100px 1fr;: 第一列固定宽度100px,第二列占据剩余空间。
  • grid-template-columns: repeat(3, 1fr);: 三列,每列占据相同的宽度。

21.控制元素的内容如何与背景或其他重叠的元素进行混合

mix-blend-mode: exclusion;

这个属性定义了当前元素的颜色如何与底层内容(如背景、其他元素等)的颜色进行混合。exclusion 混合模式是一种特定的混合模式,它会产生一种类似于“反相”的效果。

属性解释

  • mix-blend-mode: exclusion;:
    • exclusion 混合模式会将当前元素的颜色与底层颜色进行混合,产生一种类似于“反相”的效果。具体来说,这种混合模式会使两种颜色在某些区域变暗,在其他区域变亮。
    • 当两种颜色都是白色时,结果是白色;当两种颜色都是黑色时,结果是黑色;当一种颜色是白色而另一种颜色是黑色时,结果是灰色。

使用场景

  • 艺术效果:创建具有独特视觉效果的艺术作品或设计。
  • 文本和背景的融合:使文本与背景图像更好地融合,产生有趣的视觉效果。
  • 叠加效果:在多层元素叠加时,产生独特的混合效果。
  • 其他混合模式:除了 exclusion 之外,还有许多其他的混合模式,如 normalmultiplyscreenoverlaydarkenlightencolor-dodgecolor-burnhard-lightsoft-lightdifferencehuesaturationcolorluminosity 等。每种模式都有其独特的视觉效果。

22.将元素的所有属性重置为其初始值

 all: unset;

这个属性可以有效地移除所有继承的和显式设置的样式,使元素恢复到其默认状态。unset 关键字是 initialinherit 的组合,具体行为取决于该属性是否是继承的。

属性解释

  • all: unset;:
    • 对于继承的属性(如 color),unset 会将其设置为 inherit,即从父元素继承。
    • 对于非继承的属性(如 margin),unset 会将其设置为 initial,即浏览器的默认值。

使用场景

  • 重置样式:当你需要完全清除某个元素的所有样式时。
  • 隔离样式:在某些情况下,你可能希望某个元素不受全局样式的影响,使用 all: unset; 可以实现这一点。
  • 组件化开发:在构建可复用的UI组件时,确保组件的样式不会受到外部样式的干扰。
  • 性能影响:虽然 all: unset; 是一个强大的工具,但过度使用可能会导致代码难以维护。建议仅在确实需要重置所有样式的情况下使用。
  • 其他关键字
    • all: initial;: 将所有属性设置为初始值。
    • all: inherit;: 将所有属性设置为继承值。
    • all: revert;: 将所有属性设置为用户代理的默认样式表中的值,或者如果没有用户代理的默认样式,则设置为初始值。

相关文章:

CSS中要注意的样式效果

1. 应用过渡效果 transition: var(--aa); 2.告诉浏览器元素可能会发生变换&#xff0c;从而优化性能。 will-change: transform; 3.使元素不响应鼠标事件。 pointer-events: none; 4.隐藏水平方向上的溢出内容 overflow-x: hidden; 5.定义一个元素的宽度和高度之间的比…...

CTFshowPHP特性

目录 web89 代码分析 playload web90 代码分析 playload web91 代码分析 playload web92 代码分析 playload web93 代码分析 playload web94 代码分析 playload web95 web96 代码分析 playload web97 代码分析 playload web98 代码分析 playload w…...

基于Springboot+Vue的电子博物馆系统

基于SpringbootVue的电子博物馆系统 前言&#xff1a;随着信息技术的不断发展&#xff0c;传统博物馆的参观方式逐渐向数字化、在线化转型。电子博物馆作为这一转型的重要组成部分&#xff0c;能够通过信息化手段为用户提供更丰富、更便捷的博物馆参观体验。本文基于Spring Boo…...

HarmonyOS:使用HTTP访问网络

HTTP 一、导入http模块 module.json5里添加网络权限 导入http模块 二、创建http请求 创建http请求 import { http } from kit.NetworkKitfunction getNetData() {// 创建数据请求对象let httpRequest http.createHttp() }三、发起请求 请求方法 四、请求示例 GET请求 PO…...

sqlmap --os-shell的原理(MySQL,MSSQL,PostgreSQL,Oracle,SQLite)

1. MySQL 条件 数据库用户需要具备高权限&#xff08;如 FILE 权限&#xff09;。数据库服务运行用户需要对目标目录有写权限。Web 服务器有可写目录&#xff0c;且支持执行上传的脚本&#xff08;如 PHP、JSP 等&#xff09;。 原理 利用 MySQL 的 SELECT ... INTO OUTFIL…...

浅谈网络安全态势感知

一、基本概念 前美国空军首席科学家Endsley博士给出的动态环境中态势感知的通用定义是: 态势感知是感知大量的时间和空间中的环境要素&#xff0c;理解它们的意义&#xff0c;并预测它们在不久将来的状态。 在这个定义中&#xff0c;我们可以提炼出态势感知的三个要素&#xf…...

【大模型】ChatGPT 提示词优化进阶操作实战详解

目录 一、前言 二、ChatGPT 提示词几个基本的优化原则 2.1 明确的提示词 2.1.1 提示词具体而清晰 2.1.1.1操作案例演示 2.2 确定焦点 2.2.1 操作案例演示 2.3 保持提示词的相关性 2.3.1 什么是相关性 2.3.2 提示词相关性操作案例一 2.3.2 提示词相关性操作案例二 三…...

【计算机网络】实验11:边界网关协议BGP

实验11 边界网关协议BGP 一、实验目的 本次实验旨在验证边界网关协议&#xff08;BGP&#xff09;的实际作用&#xff0c;并深入学习在路由器上配置和使用BGP协议的方法。通过实验&#xff0c;我将探索BGP在不同自治系统之间的路由选择和信息交换的功能&#xff0c;理解其在互…...

【Linux系统】System V 的 IPC 机制在 Linux 系统中的实现

System V 的 IPC&#xff08;Inter-Process Communication&#xff0c;进程间通信&#xff09; 机制是 UNIX 系统中的一大特色&#xff0c;用于在不同进程之间共享数据或同步操作。Linux 系统完整实现了 System V 的 IPC 机制&#xff0c;并在其基础上进行了优化和扩展。这些机…...

计算机网络安全

从广义来说&#xff0c;凡是涉及到网络上信息的机密性、报文完整性、端点鉴别等技术和理论都是网络安全的研究领域。 机密性指仅有发送方和接收方能理解传输报文的内容&#xff0c;而其他未授权用户不能解密&#xff08;理解&#xff09;该报文报文完整性指报文在传输过程中不…...

30.100ASK_T113-PRO 用QT编写视频播放器(一)

1.再buildroot中添加视频解码库 X264, 执行 make menuconfig Target packages -->Libraries --> Multimedia --> X264 CLI 还需要添加 FFmpeg 2. 保存,重新编译 make all 3.将镜像下载开发板...

攻防世界 ctf刷题 新手区1-10

unserialize3 因为我上个笔记写了 php返序列化 所以先趁热打铁 看这个题目名字 我们就知道是 反序列化呀 因为flag有值所以 我们先输个 111 看看有没有线索 没线索但是这边 有个发现就是他是使用get方式传参的 可能他会把我们的输入 进行传入后台有可能进行反…...

DAY35|动态规划Part03|LeetCode:01背包问题 二维、01背包问题 一维、416. 分割等和子集

目录 01背包理论基础&#xff08;一&#xff09; 基本思路 C代码 01背包理论基础&#xff08;二&#xff09; 基本思路 C代码 LeetCode:416. 分割等和子集 基本思路 C代码 01背包理论基础&#xff08;一&#xff09; 题目链接&#xff1a;卡码网46. 携带研究材料 文字…...

三款电容麦的对比

纸面参数 第一款麦克风 灵敏度: -36 dB 2 dB&#xff08;0 dB1V/Pa at 1 kHz&#xff09; 灵敏度较低&#xff0c;需要更高的增益来拾取同样的音量。频率响应: 40 Hz - 18 kHz 响应范围较窄&#xff0c;尤其在高频区域。等效噪音级: ≤18 dB&#xff08;A计权&#xff09; 噪…...

【实战攻略】如何从零开始快速实现深度学习新想法?——四步走战略

标题 【实战攻略】如何从零开始快速实现深度学习新想法&#xff1f;——四步走战略 【核心结论】 通过四步走战略&#xff0c;即找到baseline论文、深入baseline代码、搭建自己的pipeline、融入核心算法&#xff0c;新手也能快速实现深度学习新想法。 【通俗解释&#xff0…...

Python+OpenCV系列:入门环境搭建、图像读写、像素操作、色彩空间和通道、

入门环境搭建、图像读写、像素操作、色彩空间和通道 **Python与OpenCV环境搭建、图像处理与色彩空间介绍****引言****1. Python和OpenCV的环境搭建****1.1 安装Python和OpenCV****1.2 配置开发环境** **2. 图像的读取、显示与保存****2.1 图像的读取****2.2 图像的显示****2.3 …...

如何在鸿蒙API9和x86模拟器中使用MQTT

目录 引言 安装MQTT软件包 避免MQTT软件包自动升级 程序的编写 运行测试 结语 引言 虽然我的课主要是OpenHarmony南向开发的&#xff0c;但是结课时有个同学说他在写鸿蒙APP时无法将MQTT库加入到设备中&#xff0c;希望我帮忙看看。由于他没有鸿蒙的真机&#xff0c;只能…...

http multipart/form-data 数据如何分块传输是一次传输还是多次

multipart/form-data 是一种用于 HTTP 协议中传输数据的格式&#xff0c;它用于传输数据量较大的数据&#xff0c;如文件等。在 multipart/form-data 中&#xff0c;数据可以被分成多个部分&#xff08;chunk&#xff09;&#xff0c;这些部分之间通过特定的分隔符进行分隔。 …...

️️耗时一周,肝了一个超丝滑的卡盒小程序

前言 先看看成品效果&#xff1a; 在上个月&#xff0c;我出于提升自己的英语造句能力的目的&#xff0c;想要找一个阅读或者练习造句类的英语学习 APP&#xff0c;但是最终找了几个 APP 不是不太好用就是要付费。于是我转换思路&#xff0c;找到了一本书&#xff0c;叫《36…...

ubuntu的matlab使用心得

1.读取视频 v VideoReader(2222.mp4);出问题&#xff0c;报错&#xff1a; matlab 错误使用 VideoReader/initReader (第 734 行) 由于出现意外错误而无法读取文件。原因: Unable to initialize the video properties 出错 audiovideo.internal.IVideoReader (第 136 行) init…...

vscode插件 live-server配置https

背景&#xff1a;前端有时候需要在本地搭建https环境测试某些内容&#xff08;如https下访问http资源&#xff0c;下载&#xff09; 步骤&#xff1a; 1.vscode集成开发软件(应该所有前端开发同学都安装了&#xff0c;我用webstorm&#xff0c;vscode备用) 2.vscode安装live…...

腾讯最新图标点选验证码

注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路 如有侵犯,请联系作者下架 本文识别已同步上线至OCR识别网站: http://yxlocr.nat300.top/ocr/iconclick/9 注意:后续点选验证码内容我不会再讲那么详细,毕竟点选验证训练很多读者都会,而…...

安防视频监控平台Liveweb视频汇聚管理系统管理方案

智慧安防监控Liveweb视频管理平台能在复杂的网络环境中&#xff0c;将前端设备统一集中接入与汇聚管理。国标GB28181协议视频监控/视频汇聚Liveweb平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、…...

VBA信息获取与处理第四个专题第二节:将工作表数据写入VBA数组

《VBA信息获取与处理》教程(版权10178984)是我推出第六套教程&#xff0c;目前已经是第一版修订了。这套教程定位于最高级&#xff0c;是学完初级&#xff0c;中级后的教程。这部教程给大家讲解的内容有&#xff1a;跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互…...

神经网络入门实战:(六)PyTorch 中的实用工具 SummaryWriter 和 TensorBoard 的说明

(一) SummaryWriter 这里先讲解 SummaryWriter &#xff0c;TensorBoard 会在第二大点进行说明。 SummaryWriter 是 PyTorch 中的一个非常实用的工具&#xff0c;它主要用于将深度学习模型训练过程中的各种日志和统计数据记录下来&#xff0c;并可以与 TensorBoard 配合使用&am…...

SpringBoot的validation参数校验

文章目录 前言一、引入validation 依赖二、validation中的注解说明 &#xff08;1&#xff09;Validated&#xff08;2&#xff09;Valid&#xff08;3&#xff09;NotNull&#xff08;4&#xff09;NotBlank&#xff08;5&#xff09;NotEmpty&#xff08;6&#xff09;Patte…...

RPC与HTTP调用模式的架构差异

RPC&#xff08;Remote Procedure Call&#xff0c;远程过程调用&#xff09;和 HTTP 调用是两种常见的通信模式&#xff0c;它们在架构上有以下一些主要差异&#xff1a; 协议层面 RPC&#xff1a;通常使用自定义的二进制协议&#xff0c;对数据进行高效的序列化和反序列化&am…...

R语言机器学习论文(六):总结

文章目录 介绍参考文献介绍 本文采用R语言对来自进行数据描述、数据预处理、特征筛选和模型构建。 最后我们获得了一个能有效区分乳腺组织的随机森林预测模型,它的性能非常好,这意味着它可能拥有非常好的临床价值。 在本文中,我们利用R语言对来自美国加州大学欧文分校的B…...

工业—使用Flink处理Kafka中的数据_ProduceRecord2

使用 Flink 消费 Kafka 中 ProduceRecord 主题的数据,统计在已经检验的产品中,各设备每 5 分钟 生产产品总数,将结果存入HBase 中的 gyflinkresult:Produce5minAgg 表, rowkey“...

【嵌套查询】.NET开源 ORM 框架 SqlSugar 系列

.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务…...

SpringBoot整合JWT

一. JWT简介 1. 什么是JWT&#xff1f; JWT(JSON Web Token)是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。 它将用户信息加密到token里&#xff0c;服务器不保存任何用户信息。服务器通过使用保存的密钥验证token的正确性&#xff0c;只要正确即通过验证&…...

使用docker创建cloudstack虚拟主机

文章目录 概要 环境准备&#xff1a; 1.使用rockyLinux&#xff1a;8镜像 2.配置yum源 3.添加vim cloudstack.repo为以下内容 4.前期我们已经搭好了cloudstack平台&#xff0c;这里需要映射几个目录到容器里面&#xff0c; 5.创建Dockerfile 6.构建镜像 7.使用命令创建…...

mybatis-xml映射文件及mybatis动态sql

规范 XML映射文件的名称与Mapper接口名称一致&#xff0c;并且将XML映射文件和Mapper接口放置在相同包下(同包同名&#xff09;。 XML映射文件的namespace属性为Mapper接口全限定名一致。 XML映射文件中sql语句的id与Mapper接口中的方法名一致&#xff0c;并保持返回类型一致…...

Qt | TCP服务器实现QTcpServer,使用线程管理客户端套接字

点击上方"蓝字"关注我们 01、QTcpServer >>> QTcpServer 是 Qt 网络模块中的一个类,用于实现TCP服务器。它允许创建一个服务器,可以接受来自客户端的连接。QTcpServer 是事件驱动的,这意味着它将通过信号和槽机制处理网络事件。 常用函数 构造函数: QT…...

rustdesk远程桌面使用

文章目录 简介1.客户端rustdesk使用2.基于 S6-overlay 的镜像 服务端部署3.声明 简介 为什么使用rustdesk&#xff0c;因为向日葵&#xff0c;todesk&#xff0c;免费版本的有各种各样的坑&#xff0c;比如限制你的登录&#xff0c;需要你重新登录使用&#xff0c;画面模糊&am…...

C#中图片的Base64编码与解码转换详解

在C#中&#xff0c;我们可以使用Base64编码将图片转换为字符串&#xff0c;也可以将Base64编码的字符串转换回图片。这通常用于在需要文本表示图像数据的场合&#xff08;例如在Web开发中传输图像数据&#xff09;。 将图片转换为Base64字符串 要将图片文件转换为Base64字符串…...

瑞芯微方案主板Linux修改系统串口波特率教程,触觉智能RK3562开发板演示

遇到部分串口工具不支持1500000波特率&#xff0c;这时候就需要进行修改&#xff0c;本文以触觉智能RK3562开发板修改系统波特率为115200为例&#xff0c;介绍瑞芯微方案主板Linux修改系统串口波特率教程。 温馨提示&#xff1a;瑞芯微方案主板/开发板串口波特率只支持115200或…...

阿里云整理(二)

阿里云整理 1. 访问网站2. 专业名词2.1 域名2.2 域名备案2.3 云解析DNS2.4 CDN2.5 WAF 1. 访问网站 用户使用浏览器访问网站大体分为几个过程&#xff1a; 用户在浏览器输入域名URL&#xff0c;例如www.baidu.com。 不过&#xff0c;浏览器并不知道为该域名提供服务的服务器具…...

python实现一个简单的不断发送dns查询的功能

the code below: import socket import struct import time import randomdef create_dns_query(domain"example123.com"):# DNS HeaderID random.randint(0, 65535) # 随机查询IDFLAGS 0x0100 # Standard queryQDCOUNT 1 # One questionANCOUNT 0 # …...

鲲鹏麒麟使用Docker部署Redis5

本次部署采用Docker方式进行部署&#xff0c;服务器为鲲鹏服务器&#xff0c;CPU架构为ARM64&#xff0c;操作系统版本信息为 # cat /etc/kylin-release Kylin Linux Advanced Server release V10 (Tercel)镜像 下载镜像鲲鹏麒麟Redis5镜像包 部署 1、上传镜像到服务器 2、…...

MySQL悲观锁和乐观锁

MySQL悲观锁和乐观锁 在数据库中&#xff0c;锁是用来管理并发控制的一种机制&#xff0c;确保数据的一致性和完整性。MySQL中的悲观锁和乐观锁是两种不同的并发控制策略&#xff0c;它们在处理并发事务时采用不同的方法。 悲观锁&#xff08;Pessimistic Locking&#xff09…...

【AI模型对比】Kimi与ChatGPT的差距:真实对比它们在六大题型中的全面表现!

文章目录 Moss前沿AI语义理解文学知识数学计算天文学知识物理学知识英语阅读理解详细对比列表总结与建议 Moss前沿AI 【OpenAI】获取OpenAI API Key的多种方式全攻略&#xff1a;从入门到精通&#xff0c;再到详解教程&#xff01;&#xff01; 【VScode】VSCode中的智能AI-G…...

一根网线如何用软路由给手机、电脑分配设置不同IP

众所周知&#xff0c;在同一个网络下&#xff0c;我们的互联网IP是一样的&#xff0c;即外网只有一个IP。很多互联网公司、游戏工作室、营利工作室都需要利用它们来实现同一网络下多台设备IP地址不同的效果。对此我们该怎么办&#xff1f;下面给大家简单分享一下&#xff01; 在…...

面经自测——自我介绍

前言 这是作者新开的坑&#xff0c;一切题目都是从网上找的原题&#xff0c;为了总结网上有关的面经&#xff0c;以便在真实面试中较为流利的回答面试官的问题 面试之——自我介绍 自我介绍是面试中最常见的问题之一&#xff0c;主要目的是让面试官了解你的背景、技能和职业…...

uniapp 小程序 监听全局路由跳转 获取路由参数

uniapp 小程序 监听全局路由跳转 获取路由参数 app.vue中 api文档 onLaunch: function(options) {let that this;let event [navigateTo, redirectTo, switchTab, navigateBack];event.forEach(item > {uni.addInterceptor(item, { //监听跳转//监听跳转success(e) {tha…...

【LeetCode每日一题】——204.计数质数

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时空频度】九【代码实现】十【提交结果】 一【题目类别】 数组 二【题目难度】 中等 三【题目编号】 204.计数质数 四【题目描述】 给定整数 n &…...

TCP的“可靠性”(下)——三次握手四次挥手

目录 建立连接&#xff08;三次握手&#xff09;为啥要进行握手&#xff1f;&#xff1f;意义何在&#xff1f;&#xff1f;常见面试题&#xff1a;为啥必须是三次握手&#xff1f; 断开连接&#xff08;四次挥手&#xff09;三次握手和四次挥手的相同点和不同点连接过程中涉及…...

【笔记2-5】ESP32:freertos消息队列

主要参考b站宸芯IOT老师的视频&#xff0c;记录自己的笔记&#xff0c;老师讲的主要是linux环境&#xff0c;但配置过程实在太多问题&#xff0c;就直接用windows环境了&#xff0c;老师也有讲一些windows的操作&#xff0c;只要代码会写&#xff0c;操作都还好&#xff0c;开发…...

java操作doc(二)——java利用Aspose.Words动态创建自定义doc文档

有关java动态操作word文档&#xff0c;上一篇写了如何使用模板动态设置对于内容以及相关单元格的动态合并问题&#xff0c;详细请参看如下文档&#xff1a; java利用Aspose.Words操作Word动态模板文档并动态设置单元格合并 这篇文档说说&#xff0c;如何利用Aspose.Words动态…...

计算机光电成像理论基础

一、透过散射介质成像 1.1 光在散射介质中传输 光子携带物体信息并进行成像的过程是一个涉及光与物质相互作用的物理现象。这个过程可以分为几个步骤来理解&#xff1a; 1. **光的发射或反射**&#xff1a; - 自然界中的物体可以发射光&#xff08;如太阳&#xff09;&am…...