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

CSS面试真题 part1

CSS面试真题 part1

  • 1、说说你对盒子模型的理解
  • 2、谈谈你对BFC的理解
  • 3、什么是响应式设计?响应式设计的基本原理是什么?如何做?
  • 4、元素水平垂直居中的方法有哪些?如果元素不定宽高呢?
  • 5、如何实现两栏布局,右侧自适应?三栏布局中间自适应呢?
  • 6、css选择器有哪些?优先级?哪些属性可以继承?
  • 7、css中,有哪些方式可以隐藏页面元素?区别
  • 8、如何实现单行/多行文本溢出的省略样式?
  • 9、css如何画一个三角形?原理是什么?
  • 10、如何使用css完成视差滚动效果

1、说说你对盒子模型的理解

自己回答:
盒子模型有标准盒子模型(或者叫内容盒子模型)和怪异盒子模型(或者叫IE盒子模型)
标准盒子模型的width是内容宽度。怪异盒子模型的width是内容宽度+内边距+边框。
css样式设置 box-sizing:content-box (默认值,标准盒子),box-sizing:border-box 怪异盒子模型
标准回答:
与自己回答差不多

2、谈谈你对BFC的理解

自己回答:
BFC形成自己独立的一块空间,不受别的元素影响。通常用来去浮动
形成BFC可以通过 overflow:hidden; clear:both等

标准回答:

BFC,块级格式化上下文,页面上的一块渲染区域,并且有一套自己的渲染规则

  • 内部的盒子会在垂直方向上一个接一个放置
  • 对于同一个BFC的俩个相邻的盒子的margin会发生重叠,与方向无关,
  • 每个元素的左外边距与包含块的左边界相接触(从左到右),即使浮动元素也是如此
  • BFC的区域不会与float的元素区域重看
  • 计算BFC的高度时,浮动子元素也参与计算
  • BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,反之亦然

BFC目的是形成一个相对于外界完全独立的空间,让内部的子元素不会影响到外部的元素

触发条件:

包括但不限于

  • 根元素,即HTML元素
  • 浮动元素:float值为left、right
  • overflow值不为 visible,为 auto、scroll、hidden
  • display的值为 inline-block、inltable-cell、table-caption、table、inline-table、flex、inline-flex、grid、inline-grid
  • position的值为 absolute 或 fixed

应用场景:
1、防止margin重叠
2、清除内部浮动
3、自适应多栏布局

3、什么是响应式设计?响应式设计的基本原理是什么?如何做?

自己回答:
响应式设计就是根据屏幕的大小呈现不用的样式效果
基本原理:获取屏幕宽度,根据宽度进行不同的样式设置,或者效果展示
常用的响应式设计有媒体查询、百分比设置、rem设置、vw、flex盒子

标准回答:
响应式网站设计是一种网络页面设计布局,页面的设计与开发应当根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行相应的响应和调整

响应式网站常见特点:

  • 同时适配PC+平板+手机等
  • 标签导航在接近手持终端设备时改变为经典的抽屉式导航
  • 网站的布局会根据视口来调整模块的大小和位置
    在这里插入图片描述
    实现方式:
    响应式设计的基本原理是通过媒体查询检测不同的设备屏幕尺寸做处理,为了处理移动端,页面头部必须有meta声明viewport
 <meta name="viewport" content="width=device-width, initial-scale=1, maximum
-scale=1, user-scalable=no”>
  • width=device-width:是自适应手机屏幕的尺寸宽度
  • maximum-scale:是缩放比例的最大值
  • initial-scale:是缩放的初始化
  • user-scalable:是用户的可以缩放的操作

实现响应式布局的方式有如下:

  • 媒体查询
  • 百分比
  • vw/vh
  • rem

总结:
响应式布局优点可以看到:

  • 面对不同分辨率设备灵活性强
  • 能够快捷解决多设备显示适应问题

缺点:

  • 仅适用布局、信息、框架并不复杂的部门类型网站
  • 兼容各种设备工作量大、效率低下
  • 代码累赘,会出现隐藏无用的元素,加载时间加长
  • 其实这是一种折中性质的设计解决方案,多方面因素影响而达不到最佳效果
  • 一定程度上改变了网站原有的布局结构,会出现用户混淆的情况

4、元素水平垂直居中的方法有哪些?如果元素不定宽高呢?

自己回答:
单行文本水平垂直居中,line-height=height,text-align:center;
块级元素水平垂直居中:
flex实现 父块 :display:flex;justify-content:center;align-item:center;
margin实现 子块:margin:xxpx auto;
margin实现 子块:margin:50% auto; tansform:translateY(50%)
父块:position:relative;子块:left:crlc(50% - xxpx),top:crlc(50% - xxpx)
父块:position:relative;子块:left:50%, top:50%;tansform:translateY(50%)
grid布局
table布局

标准回答:
居中是一个非常基础又很重要的应用场景,一般分成居中元素的宽高已知和未知两个大类

实现方式:

  • 利用定位+margin:auto(支持不定宽高)
  • 利用定位+margin:负值
  • 利用定位+transform(支持不定宽高)
  • table布局
  • flex布局(支持不定宽高)
  • grid布局(支持不定宽高)

根据元素标签的性质,可以分为:

  • 内联元素居中布局
  • 块级元素居中布局

内联元素居中布局

水平居中

  • 行内元素可设置:text-align:center
  • flex布局设置父元素:display:flex;justify-content:center

垂直居中

  • 单行文本:height === line-height
  • 多行文本:dispaly:table-cell;vertical-align:middle

块级元素居中布局

水平居中

  • 定宽:margin:0 auto;
  • 绝对定位 + left:50% + margin:负自身一半

垂直居中

  • position:absolute 设置left、top、margin-left、margin-top(定高)
  • display:table-cell
  • transform:translate(x,y)
  • flex(不定高,不定宽)
  • grid(不定高,不定宽),兼容性相对比较差

5、如何实现两栏布局,右侧自适应?三栏布局中间自适应呢?

自己回答:
双飞翼布局,圣杯布局,flex布局。

标准回答:
两栏布局
往往是以一个定宽栏和一个自适应的栏并排展示存在

实现思路:

  • 使用float左浮左边栏
  • 右边模块使用margin-left 撑出内容块做内容展示
  • 为父级元素添加BFC,防止下方元素飞到上方内容
 <style>.box{overflow: hidden; BFC}.left {float: left;width: 200px;background-color: gray;height: 400px;}.right {margin-left: 210px;background-color: lightgray;height: 200px;}
</style>
<div class="box"><div class="left"> </div><div class="right"> </div>
</div>

还有一种更简单的使用,采用flex布局

<style>.box{overflow: hidden; BFC}.left {float: left;width: 200px;background-color: gray;height: 400px;}.right {margin-left: 210px;background-color: lightgray;height: 200px;}
</style>
<div class="box"><div class="left"> </div><div class="right"> </div>
</div>

三栏布局:
实现三栏布局中间自适应的布局方式有

  • 两边使用float,中间使用margin
  • 两边使用absolute,中间使用margin
  • 两边使用 float 和负 margin
  • display:table 实现
  • flex 实现
  • grid 网格布局

6、css选择器有哪些?优先级?哪些属性可以继承?

自己回答:
id选择器,class选择器,标签选择器,元素选择器,后代选择器,属性选择器
内联样式,!important,css样式文件
可以继承的属性:font-size,color,background-color,line-height,font-width

标准回答:

关于css 属性选择器常用的有:

  • id选择器(#box),选择id为box的元素
  • 类选择器(.one),选择类名为one的所有元素
  • 标签选择器(div),选择标签为div的所有元素
  • 后代选择器(#box div),选择id为box元素内部所有的div元素
  • 子选择器(.one>one_1),选择父元素为.one的所有.one_1的元素
  • 相邻同胞选择器(.one+.two),选择紧接在.one之后的所有.two元素
  • 群组选择器(div,p),选择div、p的所有元素

还有一些使用频率相对没那么多的选择器:

  • 伪类选择器
:link:选择未被访问的链接
:visited:选取已被访问的链接
:active:选择活动链接
:hover:鼠标指针浮动在上面的元素
:focus :选择具有焦点的
:first-child:父元素的首个子元素
  • 伪元素选择器
:first-letter:用于选取指定选择器的首字母
:first-line :选取指定选择器的首行
:before :选择器在被选元素的内容前面插入内容:
after :选择器在被选元素的内容后面插入内容
  • 属性选择器
[attribute] 选择带有attribute属性的元素
[attribute=value] 选择所有使用attribute=value的元素
[attribute~=value] 选择attribute属性包含value的元素
[attributel=value] 选择attribute属性以value开头的元素

css3新增的选择器有如下:

  • 层次选择器(p~ul),选择前面有p元素的每个ul元素
  • 伪类选择器
:first-of-type 表示一组同级元素中其类型的第一个元素
:last-of-type 表示一组同级元素中其类型的最后一个元素
:only-of-type 表示没有同类型兄弟元素的元素
:only-child 表示没有任何兄弟的元素
:nth-child(n)根据元素在一组同级中的位置匹配元素
:nth-last-of-type(n)匹配给定类型的元素,基于它们在一组兄弟元素中的位置,从未尾开始计数
:last-child 表示一组兄弟元素中的最后一个元素
:root 设置HTML文档
:empty 指定空的元素
:enabled 选择可用元素
:disabled 选择被禁用元素
:checked 选择选中的元素
:not(selector)选择与<selector> 不匹配的所有元素
  • 属性选择器
 [attribute*=value]:选择attribute属性值包含value的所有元素[attribute^=value]:选择attribute属性开头为value的所有元素[attribute$=value]:选择attribute属性结尾为value的所有元素

优先级:

内联>ID选择器>类选择器>标签选择器,!important最高

继承属性:
字体系列属性:font、font-size、font-family等
文本系列属性:text-algin、line-height、color、letter-spacing等
元素可见性:visibility
表格布局属性:caption-side、border-collapse等
列表属性:list-style-type、list-style
引用:quotes
光标属性:cursor

7、css中,有哪些方式可以隐藏页面元素?区别

自己回答:
opacity:0;元素还在,只是不可见
dispaly:none;元素消失不见

标准回答:

  • dispaly:none;元素完全消失,不占据空间
  • visibility:hidden; 元素隐藏,DOM还在,不能响应点击事件
  • opacity:0; 元素隐藏,DOM还在,可以响应点击事件
  • 设置height、width模型属性为0;元素不占据空间
  • position:absolute;将元素移出可视区域,元素不可见
  • clip-path;通过裁剪的形式,元素不可见,占据页面空间,不能响应点击事件

最常用的还是 dispaly:none;visibility:hidden;
在这里插入图片描述

8、如何实现单行/多行文本溢出的省略样式?

自己回答:
单行:
text-overflow:eclipse;
overflow:hidden;
多行:
text-overflow:eclipse;
overflow:hidden;
text-xxx:3;
标准回答:

单行:

text-overflow:eclipse;
overflow:hidden;
white-space:nowrap;

多行:

  • 基于高度截断
  • 基于行数截断

基于高度截断

伪元素+定位

  • position:relative: 为伪元素绝对定位
  • overflow:hidden:文本溢出限定的宽度就隐藏内容
  • position:absolute: 给省略号绝对定位
  • line-height:20px: 结合元素高度,高度固定的情况下,设定行高,控制显示行数
  • height:40px: 设定当前元素高度
  • ::after {} :设置省略号样式
 <style>.demo {position: relative;line-height: 20px;height: 40px;overflow: hidden;}.demo::after {content: "...";position: absolute;bottom: 0;right: 0;padding: 0 20px 0 10px;}
</style>
<body><div class='demo'>这是一段很长的文本</div>
</body>

实现原理:通过伪元素绝对定位到行尾并遮住文字,再通过 overflow:hidden隐藏多余文字
这种实现具有以下优点

  • 兼容性好,对各大主流浏览器有好的支持
  • 响应式截断,根据不同宽度做出调整

一般文本存在英文的时候,可以设置 word-break:break-all 使一个单词能够在换行时进行拆分

基于行数截断

纯css实现也非常简单,核心的css代码如下:

  • -webkit-line-clamp:2;用来限制在一个块元素显示的文本的行数,为了实现该效果,它需要组合其他的webkit属性
  • display: -webkit-box; 和1结合使用,将对象作为弹性伸缩盒子模型显示
  • -webkit-box-orient: vertical;和1结合使用,设置或检索伸缩盒对象的子元素的排列方式
  • overflow: hidden; 文本溢出限定的宽度就隐藏内容
  • text-overflow: ellipsis;多行文本的情况下,用省略号”…“隐藏溢出范围的文本
<style>p {width: 400px;border-radius: 1px solid red;-webkit-line-clamp: 2;display: -webkit-box;-webkit-box-orient: vertical;overflow: hidden;text-overflow: ellipsis;}
</style>
<p>这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本
</p >

可以看到,上述使用了webkit的css属性扩展,所以兼容浏览器范围是pc端的webkit内核的浏览器,由于移动端大多数是使用 webkit,所以移动端常用该形式
需要注意的是,如果文本为一段很长的英文或者数字,则需要添加 word-wrap: break-word 属性,还能通过使用 javascript 实现配合 css

9、css如何画一个三角形?原理是什么?

自己回答:
画边框,利用透明度
标准回答:
盒子模型在默认情况下是一个矩形

<style>.border {width: 50px;height: 50px;border: 2px solid;border-color: #96ceb4 #ffeead #d9534f #ffad60;}
</style>
<div class="border"></div>

效果如下:
在这里插入图片描述
将border设置 50px,width和height设成0,效果如下:
在这里插入图片描述
此时得到4个不同颜色的正方形,如果需要下方三角形,设置上边框为0,上左右边框颜色透明,即

.border {width: 0;height: 0;border-style:solid;border-width: 0 50px 50px;border-color: transparent transparent #d9534f;
}

10、如何使用css完成视差滚动效果

看这篇解析

视差滚动是一种效果,能够使不同层次的元素以不同的速度进行滚动,从而产生了视觉上的深度感和动态效果。可以通过两种方式来实现:background-attachmenttransform:translate3D

background-attachment:决定背景图像的位置是在视口内固定,或者随着包含它的区块滚动。 它的属性值的含义如下:
在这里插入图片描述
对父元素css_demo设置overflow: scroll,当元素内容超出页面时滚动。子元素word随着页面滚动显示,对子元素bg设置 background-attachment: fixed,使其在当前视口固定。

<template><div class="css_demo"><div class="word">视差滚动</div><div class="bg bg1"></div><div class="word"></div><div class="bg bg2"></div><div class="word"></div><div class="bg bg3"></div><div class="word"></div><div class="bg bg4"></div><div class="word"></div><div class="bg bg5"></div><div class="word"></div><div class="bg bg6"></div><div class="word"></div><div class="bg bg7"></div><div class="word"></div><div class="bg bg8"></div><div class="word"></div><div class="bg bg9"></div></div>
</template>
<style lang='scss' scoped>
.css_demo {width: 100%;height: 100%;overflow: scroll;.bg {background-position: center center;background-size: cover;background-attachment: fixed;&.bg1 {background-image: url("/src/assets/img/1.jpeg");}&.bg2 {background-image: url("/src/assets/img/2.webp");}&.bg3 {background-image: url("/src/assets/img/3.webp");}&.bg4 {background-image: url("/src/assets/img/4.webp");}&.bg5 {background-image: url("/src/assets/img/5.webp");}&.bg6 {background-image: url("/src/assets/img/6.webp");}&.bg7 {background-image: url("/src/assets/img/7.webp");}&.bg8 {background-image: url("/src/assets/img/8.webp");}&.bg9 {background-image: url("/src/assets/img/9.webp");}}
}
div {height: 100%;width: 100%;background: rgba(0, 0, 0, 0.1);color: #fff;line-height: 100vh;text-align: center;font-size: 20vh;
}
</style>

2、transform:translate3D

涉及到的CSS属性如下:

  • transform 可以对元素进行变换(2d/3d),包括平移 translate、旋转 rotate、缩放 scale等
  • perspective指定了观察者与 z=0 平面的距离,使具有三维位置变换的元素产生透视效果。z>0 的三维元素比正常大,而 z<0
    时则比正常小,大小程度由该属性的值决定。元素涉及 3d 变换时,perspective 可以让我们眼睛看到 3d 立体效果,有空间感。
  • transform-style设置元素的子元素是位于 3D 空间中还是平面中。

通过设置transform-styleperspective,使该容器的子元素处在3D空间中,然后设置 transform: translateZ使物体在滚动的时候在Y轴移动位移不同,产生视觉差。

<template><div class="transform_container"><div class="container"><div class="one">一一一一</div><div class="two">二二二二</div><div class="three">三三三三三</div></div></div>
</template>
<style scoped lang="scss">
.transform_container {perspective: 1px;transform-style: preserve-3d;height: 100%;overflow-y: scroll;overflow-x: hidden;
}
.container {transform-style: preserve-3d;height: 150%;.one {font-weight: 600;transform: translateZ(-1px);position: absolute;top: 20%;left: 20%;}.two {font-weight: 600;transform: translateZ(-2px);position: absolute;top: 20%;left: 35%;}.three {font-weight: 600;transform: translateZ(-3px);position: absolute;top: 20%;left: 50%;}
}
</style>

在这里插入图片描述

相关文章:

CSS面试真题 part1

CSS面试真题 part1 1、说说你对盒子模型的理解2、谈谈你对BFC的理解3、什么是响应式设计&#xff1f;响应式设计的基本原理是什么&#xff1f;如何做&#xff1f;4、元素水平垂直居中的方法有哪些&#xff1f;如果元素不定宽高呢&#xff1f;5、如何实现两栏布局&#xff0c;右…...

针对考研的C语言学习(定制化快速掌握重点5)

顺序表 特点&#xff1a; 写代码主要就是增删改查&#xff01;&#xff01;&#xff01; 写代码的边界性非常重要以及考研插入和删除的位置都是从1开始&#xff0c;而数组下标是从0开始 【注】下标和位置的关系 线性表最重要的是插入和删除会涉及边界问题以及判断是否合法 …...

构建高效房屋租赁系统:Spring Boot应用

1 绪论 1.1 研究背景 中国的科技的不断进步&#xff0c;计算机发展也慢慢的越来越成熟&#xff0c;人们对计算机也是越来越更加的依赖&#xff0c;科研、教育慢慢用于计算机进行管理。从第一台计算机的产生&#xff0c;到现在计算机已经发展到我们无法想象。给我们的生活改变很…...

学习单片机编程和硬件设计步骤

学习单片机编程和硬件设计可以分为几个步骤&#xff1a; 理解基本概念&#xff1a;首先需要了解单片机的基本概念、硬件结构和工作原理 。 选择开发平台&#xff1a;选择一个合适的单片机系列作为起点&#xff0c;如Arduino、ESP8266/ESP32或STM32系列 。 准备工具和环境&…...

.net Framework 4.6 WebAPI 使用Hangfire

C# 使用 Hangfire 第一章 .net Framework 4.6 WebAPI 使用Hangfire 文章目录 C# 使用 Hangfire前言一、hangfire是什么?二、hangfire的特点三、.net Framework 中hangfire的使用方法第一步:创建WebAPI控制器第二步:添加nuget包第三步 创建startup类新建项目startup类Startu…...

两个向量所在平面的法线,外积,叉积,行列式

偶尔在一个数学题里面看到求两向量所在平面的法线&#xff0c;常规方法可以通过法线与两向量垂直这一特点&#xff0c;列两个方程求解&#xff1b;另外一种方法可以通过求解两个向量的叉积&#xff0c;用矩阵行列式 (determinant) 的方式&#xff0c;之前还没见过&#xff0c;在…...

C++之 友元重载 以及最常用的几种友元函数

在之前的友元中就曾经讲过&#xff0c;我们为了去访问修改私有成员中的数据时&#xff0c;只能通过公有的办法去进行访问操作&#xff0c;非常的局限。所以C引用了友元函数&#xff0c;只要加上friend关键字&#xff0c;C的这个类&#xff0c;会自动把这个函数的权限拉到类内&a…...

动态规划(3)——dp多状态问题Ⅰ

题一.按摩师&#xff08;LeetCode&#xff09; 题目描述 一个有名的按摩师会收到源源不断的预约请求&#xff0c;每个预约都可以选择接或不接。在每次预约服务之间要有休息时间&#xff0c;因此她不能接受相邻的预约。给定一个预约请求序列&#xff0c;替按摩师找到最优的预约集…...

在Mac电脑上安装adb环境

当你在命令行输入 adb version 或adb devices, 报错&#xff1a;zsh: command not found: adb &#xff0c;那么说明你的 Mac 上没有安装 ADB&#xff08;Android Debug Bridge&#xff09;&#xff0c;或者它没有添加到你的路径中。你可以按照以下步骤安装和配置 ADB&#xff…...

分糖果C++

题目&#xff1a; 样例解释&#xff1a; 样例1解释 拿 k20 块糖放入篮子里。 篮子里现在糖果数 20≥n7&#xff0c;因此所有小朋友获得一块糖&#xff1b; 篮子里现在糖果数变成 13≥n7&#xff0c;因此所有小朋友获得一块糖&#xff1b; 篮子里现在糖果数变成 6<n7&#xf…...

Spring中如何为静态变量注入值

在 Spring 中&#xff0c;如果使用 Value 注解注入值&#xff0c;不能将其应用于 static 字段。Spring 只能为实例变量注入值&#xff0c;不能直接对静态变量进行注入。 使用 PostConstruct 初始化&#xff1a; 如果确实需要在静态上下文中使用该值&#xff0c;可以使用 Post…...

HTML5实现唐朝服饰网站模板源码

文章目录 1.设计来源1.1 网站首页-界面效果1.2 唐装演变-界面效果1.3 唐装配色-界面效果1.4 唐装花纹-界面效果1.5 唐装文化-界面效果 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板&#xff0c;程序开发&#xff0c;在线开发&#xff0c;在线沟通 作者&#xff1a;xcL…...

ESXI识别USB设备

步骤&#xff1a; 插入usb设备到服务器。关闭虚拟机&#xff0c;添加USB控制器&#xff0c;根据U盘选择usb 3.0控制器&#xff0c;再添加usb设备如果usb设备灰色&#xff0c;进入主机打开SSH。使用xshell进行连接&#xff0c;运行以下命令&#xff1a; ESXI识别USB设备 - 插入…...

视频美颜SDK与直播美颜工具API是什么?计算机视觉技术详解

今天&#xff0c;小编将深入探讨视频美颜SDK与直播美颜工具API的概念及其背后的计算机视觉技术。 一、视频美颜SDK的概念 视频美颜SDK是一套用于开发实时美颜效果的工具集&#xff0c;开发者可以利用它在视频流中实现面部特征的优化。这些SDK通常提供了一系列功能&#xff0c…...

not exist 解决一对多 场景 条件过滤问题

场景&#xff1a; 现在存在一对多关系&#xff0c;蓝色的盒子装的篮球&#xff0c;黄的的盒子装的黄球&#xff0c; 黑色的盒子 &#xff08;模拟工作类似场景&#xff09; boxIdballId蓝盒ID-15蓝盒ID-16蓝盒ID-17黄盒ID-212黄盒ID-215黄盒ID-216黑盒ID-38黑盒ID-39 需求&a…...

解决$‘r‘ command not found或者文件夹显示’tvsf 33‘$‘r‘

问题现象: 某客户反馈在执行脚本的时候文件夹显示存在问题,如下图: 但是脚本文件中的内容并没有\r字符,如下图: 也有客户反馈如下: 问题分析: $\r’是回车符的转义表示。在Unix和Linux系统中,回车符是一个不可见的控制字符,它通常用于文本文件中的行结尾。以上…...

linux:详解nohup命令

在 UNIX 和类 UNIX 操作系统&#xff08;如 Linux 和 macOS&#xff09;中&#xff0c;nohup 意图为后台运行且免疫挂断信号的命令&#xff0c;用于在用户注销&#xff08;logout&#xff09;或终端关闭后继续运行相应的进程。 基本语法 启动进程 nohup [COMMAND] [ARG...] …...

负载箱:充电桩测试利器

RCD负载箱是用于测试和验证电气设备在故障状态下的性能的设备。它可以模拟真实的负载情况&#xff0c;从而帮助工程师和技术人员对设备进行准确的检测和维护。此外&#xff0c;RCD负载箱也是一种重要的安全保护设备&#xff0c;主要用于防止电路中的漏电现象引发的事故。它通常…...

Ubuntu 开机自启动 .py / .sh 脚本,可通过脚本启动 roslaunch/roscore等

前言 项目中要求上电自启动定位程序&#xff0c;所以摸索了一种 Ubuntu 系统下开机自启动的方法&#xff0c;开机自启动 .sh 脚本&#xff0c;加载 ROS 环境的同时启动 .py 脚本。在 . py 脚本中启动一系列 ROS 节点。 一、 .sh 脚本的编写 #!/bin/bash # gnome-terminal -- …...

RabbitMQ 消息队列:生产者与消费者实现详解

在分布式系统中&#xff0c;消息队列&#xff08;Message Queue, MQ&#xff09;是一种重要的组件&#xff0c;用于解耦系统、异步处理任务以及实现系统间的通信。RabbitMQ 是一个流行的开源消息代理软件&#xff0c;它实现了高级消息队列协议&#xff08;AMQP&#xff09;。在…...

vue3项目中组件切换不起作用

以下这种方式写页面中组件切换&#xff0c;不起作用。 <component :is"steps[compIndex].comp" />解决&#xff1a;使用shallowReactive或者shallowRef把对应的组件名称重新定义下。 <component :is"compNames[steps[compIndex].comp]" /> &…...

YOLOv11改进策略【损失函数篇】| Slide Loss,解决简单样本和困难样本之间的不平衡问题

一、本文介绍 本文记录的是改进YOLOv11的损失函数&#xff0c;将其替换成Slide Loss&#xff0c;并详细说明了优化原因&#xff0c;注意事项等。Slide Loss函数可以有效地解决样本不平衡问题&#xff0c;为困难样本赋予更高的权重&#xff0c;使模型在训练过程中更加关注困难样…...

动静态库(Linux)

文章目录 前言一、静态库二、动态库三、深入理解动态库总结 前言 我们之前用过c语言的库.Linux中默认的都是使用动态库&#xff0c;如果想要使用静态库&#xff0c;就必须加上-static选项。默认都是安装的动态库&#xff0c;系统中一般没有静态库&#xff0c;如果要使用&#…...

51单片机和ARM单片机的区别

在嵌入式系统设计与应用中&#xff0c;单片机作为核心控制单元&#xff0c;扮演着至关重要的角色。其中&#xff0c;51单片机和ARM单片机作为两种常见的单片机类型&#xff0c;各自具有独特的特点和优势。本文将从多个维度深入探讨这两种单片机的区别&#xff0c;以便读者更好地…...

[Day 81] 區塊鏈與人工智能的聯動應用:理論、技術與實踐

區塊鏈在食品安全中的應用 前言 食品安全一直是全球關注的問題&#xff0c;隨著全球供應鏈的複雜性增加&#xff0c;追踪食品從生產到消費的過程變得愈發困難。區塊鏈技術以其去中心化、不可篡改的特性&#xff0c;為食品安全提供了可靠的解決方案。在這篇文章中&#xff0c;…...

flac格式怎么转mp3?关于flac转为MP3的方法介绍

flac格式怎么转mp3&#xff1f;MP3格式经过压缩&#xff0c;相较于flac文件&#xff0c;显著减小了文件体积。这一特点使得音乐的存储和传输更加便捷&#xff0c;尤其适合移动设备以及存储空间有限的场景。由于MP3文件体积较小&#xff0c;分享音乐变得非常简单&#xff0c;无论…...

【笔记】KaiOS 系统框架和应用结构(APP界面逻辑)

KaiOS系统框架 最早自下而上分成Gonk-Gecko-Gaia层,代码有同名的目录,现在已经不用这种称呼。 按照官网3.0的版本迭代介绍,2.5->3.0已经将系统更新成如下部分: 仅分为上层web应用和底层平台核心,通过WebAPIs连接上下层,这也是kaios系统升级变更较大的部分。 KaiOS P…...

java项目实现钉钉异常告警实时监控

最近有个小伙伴问我&#xff0c;我们的项目核心业务的地方总是有异常&#xff0c;虽然有打印日志&#xff0c;但不能立马通知我&#xff1b;所以今天我就教大家如何实现异常报警实时提醒 1.需要有钉钉 自己新建的企业用户 2.建一个群&#xff0c;需要有三人以上&#xff1b;…...

Spring Boot应用:电子商务平台开发

第2章 关键技术简介 2.1 Java技术 Java是一种非常常用的编程语言&#xff0c;在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中&#xff0c;Java的身影无处不在&#xff0c;并且拥有旺盛的生命力。Java的跨平台能力十分强大&#xff0c;只需一次编译&#xf…...

怎么在Vue3项目中引入Vant组件库并使用?

文章目录 前言一、项目中使用步骤1.安装&#xff1a;2.样式的导入&#xff08;2种方法&#xff09;2.1 main.ts全局导入&#xff08;平常自己的项目用的这个全局&#xff09;2.2 按需引入组件样式 (简单介绍一下)1.安装插件2.配置插件 3.组件按需使用&#xff1a;App.vue 总结 …...

贵阳优化网站建设/北京关键词优化服务

知识要点 在javascript中&#xff0c;表达式是短语&#xff0c;那么语句&#xff08;statement&#xff09;就是整句或命令。表达式计算出一个值&#xff0c;但语句用来执行以使某件事发生。 1.表达式语句 具有副作用的表达式是JavaScript中最简单的语句&#xff1a;赋值语句、…...

毕业设计做 做交易网站/推广网

周一上班&#xff0c;发现苹果mac部分按键突然失灵&#xff01;这可怎么办&#xff1f; 使用万能的重启大法&#xff0c;数字键 7,8,9 以及 m 等按键失灵&#xff0c;但是其他按键正常。 使用外接键盘发现是可以正常输入的&#xff0c;难道是笔记本键盘坏了&#xff1f;要去售…...

网站开发技巧/成都seo达人

一、ListView的理解   1.什么ListView&#xff1f;      一种用来显示多个可滑动项(Item)列表的的ViewGroup 需要使用Adapter将集合数据和每一个Item所对应的布局动态适配到ListView中显示    显示列表: listView.setAdapter(adapter)     更新列表: adapter.noti…...

网站开发难度和小程序开发难度/搜索引擎广告案例

一、Autoit 上传文件、1.常用语法- WinActivate("title") 聚焦到指定活动窗口- ControlFocus ( "title", "窗口文本", controlID) 设置输入焦点到指定窗口的某个控件上&#xff1b;- WinWait ( "title" , "窗口文本&qu…...

天津网站建设业务/广州网站建设公司

1)Chromely Chromely 是一个轻量级的类似 Electron.NET的框架&#xff0c;服务于 .NET/.NET Core 开发者 https://github.com/chromelyapps/Chromely...

如何seo网站/本站3天更换一次域名yw

前言 ​Spring 正如其名字&#xff0c;给开发者带来了春天&#xff0c;Spring 是为解决企业级应用开发的复杂性而设计的一款框架&#xff0c;其设计理念就是&#xff1a;简化开发。 Spring 框架中最核心思想就是&#xff1a; IOC&#xff08;控制反转&#xff09;&#xff1a…...