他们同时具有块元素和行内元素的特点
特点: 和相邻行内元素(行内块)在一行上,但是他们之间会有空白缝隙。一行可以显示多个(行内元素特点) 默认宽度就是它本身内容的宽度(行内块特点) 高度、行高、外边距以及内边距都可以控制(块级元素特点)
④元素显示模式的转换 转换为块元素:display:block
转换为行内块元素:display:inline
转换为块元素:display:inline-block
6、CSS的背景样式
background:背景颜色 背景图片地址 背景平铺 背景图片位置 背景图像滚动;
背景图片(-image):实际开发中,常见于logo或者一些装饰性的小图片或者超大的背景图片,优点是非常便于控制位置(精灵图也是一种运用场景)
背景平铺(-repeat):repeat(默认平铺)
,还有no-repeat(不平铺)
、repeat-x(向x方向平铺)
、repeat-y(向y方向平铺)
背景位置(-position):background-position:x y;
背景图像滚动(-attachment):参数值有scroll(背景图像随着对象内容滚动)
和fixed(背景图像固定)
CSS3新增的背景色半透明: background:rgba(0,0,0,0.3);
最后一个参数为透明度,取值范围为0~2之间
7、CSS三大特性
①层叠性 相同选择器给设置相同的样式,此时一个样式就会覆盖(层叠)另一个冲突样式。层叠性主要解决样式冲突的问题。 层叠性原则: 样式冲突,遵循的原则就是就近原则,哪个样式离结构近,就执行哪个样式 样式不冲突,不会层叠。
②继承性 CSS中的继承:子标签会继承父标签的某些样式,如文本颜色和字号。 恰当的使用继承可以简化代码,降低CSS样式的复杂性 子元素可以继承父元素的样式(text-、font-、line、这些元素开头的可以继承,以及color属性)
③优先级 当同一个元素指定多个选择器,就会有优先级的产生: 选择器相同,则执行层叠性 选择器不同,则根据选择器权重 执行
选择器权重: !important的用法:在属性后面添加即可: 权重叠加:如果是复合选择器,则会有权重叠加,需要计算权重 例如: 这个后代选择器权重就是0020(两个类选择器权重相加)
8、盒子模型
①盒子模型的四个组成部分 CSS盒子模型本质上是一个盒子,封装周围的HTMl元素,它包括:边框、外边距、内边距和实际内容。
边框(border):border:border-width border-style border-color;
,可以只设置一边,例如设置上边框:border-top:border-width border-style border-color;
border-width:定义边框粗细,单位是px border-style:边框的样式,值:solid(实线)、dashed(虚线)、datted(点线)等 border-color:边框的颜色
注意:边框会额外增加盒子的实际大小
②内边距(padding)
注意:指定padding后: 1、内容和边框有了距离,添加内边距 2、padding也影响了盒子的实际大小 也就是说如果盒子有了宽度和高度,此时再指定内边距,会撑大盒子 如果没有指定盒子宽度或高度,就不会撑大盒子,依旧是100%
③外边距(margin)
外边距可以让块级盒子水平居中,给定两个条件即可: (1)必须给定宽度width (2)将盒子的左右外边距都设置为auto
行内元素水平居中给其父元素添加text-align:center
嵌套块元素垂直外边距的塌陷: 对于两个嵌套关系(父子关系)的块元素。父元素有上外边距同时子元素也有上外边距,此时父元素会塌陷较大的外边距值: 解决方案: (1)可以给父元素定义上边框 (2)可以为父元素定义上内边距 (3)可以为父元素添加overflow:hidden
清楚内外边距: 网页元素有很多都带有,默认的内外边距,而且不同浏览器默认也不一致,因此我们在布局前,首先要清除下网页元素的内外边距:
/* 这句话也是CSS的第一行代码 */
*{
margin:0;
padding:0;
}
④圆角边框 在CSS3中,新增了圆角边框样式 border-radius:length;
radius半径(圆的半径)原理:(椭)圆与边框的交集形成圆角效果
参数值可以数值或百分比的形式; 如果是正方形,想要设置为一个园,把数值修改为高度或者宽度的一半即可,货值直接写50%; 该属性是一个简写,可以跟四个值,分别代表左上角、右上角、右下角、左下角 border-top-left-radius
、border-top-right-radius
、border-bottom-left-radius
、border-bottom-left-radius
、
⑤盒子阴影 box-shadow:h-shadow v-shadow blur speead color inset;
属性分别代表:
9、传统网页布局的三种方式
传统网页布局的三种方式:标准流、浮动、定位
①标准流 就是标签按照规定好默认方式排列
②浮动 float
属性用于创建浮动框,将其移动到一边,直到左边缘或右边缘触及包含块块或另一个浮动框的边缘。 语法:选择器{float:属性}
浮动特性 加了浮动之后的元素: (1)浮动元素会脱离标准流(脱标),不再保留原来的位置 (2)浮动的元素会一行内显示并且元素顶部对齐 (3)浮动元素会具有行内块元素的特性
浮动布局注意点 1、浮动和标准流的父盒子搭配 先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置
2、一个元素浮动,其他兄弟元素应该也要浮动
清除浮动 由于父级盒子很多情况下,不方便给高度,但是子盒子浮动又不占有位置,最后父级盒子高度为0时,就会影响下面的标准流盒子 清除浮动的本质
清楚浮动的本质时清除浮动元素造成的影响
如果父盒子本身有高度,则不需要清除浮动
清除浮动后,父级就会根据浮动的子盒子自动检测高度,父级有了高度,就不会影响下面的标准流
清除浮动方法一: 语法:选择器{clear:属性值}
清除浮动方法二: 可以给父级元素添加overflow
属性·,将其属性值设置为hidden、auto或scroll
清除浮动方法三(:after伪元素法): 清除浮动方法四(双伪元素法): ③定位
浮动可以让多个块级盒子一行没有复习排列显示,经常用于横向排列盒子; 定位则是可以让盒子自用的在某个盒子内部移动位置或者固定屏幕中的某个位置,并且可以压住其他盒子。
定位:将盒子定在某个位置,所以定位也是在摆放盒子,按照定位的方式移动盒子。
定位=定位模式+边偏移
定位模式用于指定一个元素在文档中的定位方式。 边偏移则决定了该元素的最终位置。
定位模式通过 position
属性来设置,其值可以分为四个:
选择器{
position:属性值;
top:xxx;
left:xxx;
}
下面除了静态定位,其他三个都会说到。
相对定位 选择器{position:relative;}
特点: (1)它是相对于自己原来位置来移动的(即移动位置的时候参照点事自己原来的位置) (2)原来在标准流的位置继续占有,后面的盒子仍然以标准流的方式对待它(不脱标,继续保留原来位置)
因此,由于相对定位没有脱标,它最典型的应用就是给后面的绝对定位当父元素用的。(子绝父相)
绝对定位 选择器{position:absolute;}
特点: (1)绝对定位是元素在移动位置的时候,相对于它祖先元素来说的 (2)如果没有祖先元素或者祖先元素没有定位 ,则以浏览器为准定位 (3)如果祖先元素有定位(相对、绝对、固定),则以最近一级的有定位祖先元素为参考点移动位置 (4)绝对定位不再占有原先的位置(脱标)
固定定位 选择器{position:fixed;}
特点: (1)以浏览器的可视窗口为参考点移动元素 (2)跟父元素没有任何关系 (3)不随滚动条滚动 (4)固定定位不占有原来位置(脱标)
定位叠放次序 在使用定位布局时,可能会出现盒子重叠的情况,此时,可以使用z-index
来控制盒子的前后次序 选择器{z-index:1;}
数值可以是正整数、负整数或0,默认是auto,数值越大,盒子越靠上
如果属性值相同,则按照书写顺序,后来居上
数字后面不能加单位
只有定位的盒子才有z-index
属性
定位的拓展
(1)绝对定位的盒子居中 加了绝对定位的盒子不能通过margin:auto;
水平居中,但是可用通过一下计算方法实现水平和垂直居中。
选择器{
position:absolute;
/* 走父容器宽度的一半 */
left:50%;
magin-left:负的自己盒子宽度的一半;
}
(2)定位的特殊特性 绝对定位和固定定位和浮动类似:
行内元素添加绝对或者固定定位,可以直接设置高度和宽度
块级元素添加绝对或者固定定位,如果不给宽度或者高度,默认大小是内容的大小
(3)脱标的盒子不会触发外边距塌陷 浮动元素、绝对定位(固定)的元素都不会触发外边距合并的问题
(4)绝对(固定)定位会完全压住盒子 浮动元素不同,只会压住下面标准流的盒子,但是不会压住下面标准流盒子里面的文字,如下图: 但是绝对定位(固定)会压住下面标准流里面所有内容
浮动之所不会压住文字,因为浮动产生的目的最初是为了做文字环绕效果的,文字会围绕浮动元素
10、CSS属性书写顺序(规范代码)
建议遵循一下顺序来写: 布局定位属性、自身属性、文本属性、其他属性
页面布局整体思路: (1)必须确定版心(可视区) (2)分析页面中的行模块,以及每个行模块中的列模块。页面布局第一准则 (3)一行中的列模块经常浮动布局,先确定每个列的大小,之后确定列的位置。页面布局第二准则 (4)制作HRML结构。遵循现有结构后有样式。 (5)先理清布局结构,再写代码尤为重要
11、元素的显示与隐藏
本质:让一个元素在页面中隐藏或者显示出来 ①display显示隐藏(隐藏后不保留位置) (1)display:none;
隐藏对象 (2)display:block;
除了转换为块级元素之外,同时还有显示元素的意思
②visibility显示隐藏(隐藏后保留位置) (1)visibility:hidden;
元素隐藏 (2)visibility:visible;
元素可视
③overflow溢出显示隐藏 (1)overflow:visible;
不剪切内容也不添加滚动条 (2)overflow:hidden;
不显示超过对象尺寸的内容,超出的部分隐藏掉 (3)overflow:scroll;
不管超出与否,总是显示滚动条 (4)overflow:auto;
拆除自动显示滚动条,不超出不显示滚动条
一般情况下,我们都不想让溢出的内容显示出来,因为溢出的部分会影响布局。 但是如果有定位的盒子,请慎用overflow:hidden
,因为会隐藏多余部分。
12、CSS高级技巧
①精灵图 (1)精灵图主要针对小的背景图片实现 (2)主要借助于背景位置实现background-position
(3)一般情况精灵图都是负值
注意: 网页中的坐标:x轴右边是正值,左边是负值;y轴下面是正值,上面是负值
②字体图标 使用步骤: (1)下载,将文件放到同一目录 (2)引入 (3)使用 (4)给标签指定字体
③CSS三角 网页中常见一些三角形,使用CSS三角直接画出啦就可以了,不必做成图片或者字体图标
④用户界面相关样式 (1)鼠标样式 选择器{cursor:属性值;}
(2)消除表单的默认蓝色边框线 input{outline:none;}
给表单添加后,就可以去掉默认的蓝色边框。
(3)防止拖拽文本域 文本域默认是可以拖拽来变大变小的,通过 textatea{resize:none;}
可以防止文本域拖拽。
⑤vertical-align属性应用 CSS的vertical-align属性使用场景:经常用于设置图片或者表单(行内块元素)和文字垂直对齐。 vertica-align:属性值;
用于设置一个元素的垂直对齐方式,但是只针对行内元素 和行内块元素 四条线的了解: 图片和文字默认是基线对齐,可以将图片改为底线对齐: img{vertica-align:bottom;}
⑥溢出的文字省略号显示
(1)单行文字溢出省略号显示 (2)多行文字溢出省略号显示
⑦常见布局技巧 (1)margin负值运用 (2)文字围绕浮动元素 (3)行内块元素的巧妙运用
⑧CSS初始化 等等初始化。
13、CSS3新特性
①新增选择器(权重为10) (1)属性选择器 属性选择器可以根据特定属性来选择元素,这样就可以不用借助类或id选择器。 (2)结构伪类选择器 结构伪类选择器主要根据文档结构来选择元素,常用于根据父级选择器里面的子元素 (3)伪元素选择器 伪元素选择器可以帮助我们利用CSS创建新标签元素,而不需要HTML标签,从而简化HTML结构。
注意:
before和after创建一个元素,但是属于行内元素
新建的这个元素在文档树中是找不到的,所以我们称为伪元素
语法:element::before{}
before和after必须有content属性,用来写内容
before在父元素内容的第一个创建元素,after在父元素内容的最后一个插入元素
伪元素选择器和标签选择器一样,权重为1
②新盒模型 css3中可用通过box-sizing
来指定盒模型,有两个值可以指定content-box
和border-box
(1)box-sizing:content-box;
:和子大小为width+padding+border(以前默认的) (2)box-sizing:border-box;
:盒子大小为width,那么padding和border就不会撑大盒子了(前提是padding和border不会超过width宽度)
③CSS3滤镜filter filter属性将模糊或颜色等图像效果应用于元素
④计算盒子宽度 calc函数 calc()此CSS函数让声明CSS属性值时执行一些计算 width:calc(100%-80px);
括号里面可以使用+ - * /
来进行计算
⑤过渡 (1)过渡动画:从一个状态 渐渐的过渡到另一个状态,现在经常和:hover
一起搭配使用
(2)语法: transition:要过渡的属性 花费时间 运动曲线 何时开始;
多个属性都要加过渡的话这样写: transition:要过渡的属性1 花费时间 运动曲线 何时开始,要过渡的属性1 花费时间 运动曲线 何时开始,...;
其中四个为
属性:想要变化的css属性,宽度高度,背景颜色,内外边距等都可以,如果想要所有的属性都变化过渡,写一个all就可以
花费时间:单位是 s(必须写单位)比如:0.5s
运动曲线(可以省略):默认ease() 运动曲线如下五个:
何时开始(可以省略):单位是秒(必须写单位),可以设置延迟触发时间,默认是0s
过渡口诀:谁(属性)做过渡给谁加
⑥2D转换(transform) (1)可以实现元素的位移(translate)、旋转(rotate)、缩放(scale)等效果。 (2)位移(translate) 可以改变元素在页面中的位置,类似定位。 语法:transform:translate(x,y);
translate最大的优点:不会影响到其他元素的位置
translate中的百分比单位是相对于自身元素的高宽
对行内元素没有效果
(3)旋转(rotate) transform:rotate(度数)
rotate里面跟度数,单位是deg,比如rotate(45deg)
角度为正时,顺时针;负时,逆时针
默认旋转中心点时元素的中心点
transform-origin:x y;
可以手动设置元素旋转中心点,x和y可以是像素,也可以是方位名词(top、bottom、left、right、center)
(4)缩放(scale) transform:scale(x,y);
transform:scale(2,2):高和宽都放大了2倍
只写一个参数,则第二个参数默认也一样
参数小于1就是缩小
sacle缩放可以设置转换中心点,不影响其他盒子
(5)综合写法 transform:translate() rotate() scale()...
其顺序会影响转换的效果(先旋转会改变坐标轴方向) 当我们同时有位移和其他属性的时候,及得将位移放到最前面
⑦动画的基本使用 第一步:先定义动画 用keyframes定义动画(类似定义类选择器)
@keyframes 动画名称{
0% {
width : 100px;
}
100% {
width : 200px;
}
}
0%是动画的开始,100%是动画的完成,这样的规则就是动画序列。 在@keyframes中规定某项css样式,就能有当前样式逐渐改为新样式的动画效果。 0%和100%也可以用from和to代替。
第二步:使用(调用)动画 用 animation-name:动画名称
animation-duration:持续时间
来调用 调用时除了这两个必须的属性要写,还可以写许多其他属性: 简写: animation:动画名称 持续时间 运动曲线 何时开始 播放次数 是否反方向 动画其实或者结束状态
⑧3D转换 (1)透视(视距)perspective
如果想要在网页缠身3D效果需要透视(理解成3D物体投影在2D中平面内)
透视就是人的眼睛到屏幕的距离
距离视觉点越近的在电脑平面成像越大,越远成像越小
透视的单位是像素
透视写在被观察元素的父盒子上面的
3D转换和2D类似,就是多了一个z轴。
写在最后: 这个是回来做一个复习,因为之前学的时候许多东西都没有做笔记,想回头复习记录一下,这个笔记都是直击重点,没有第一次学的那样做的很细 本笔记学习记录自pink老师的教程,很好的教程,快去了解 后面还会复习一下移动端布局,JavaScript等等,记录一些笔记。
你可能感兴趣的:(前端学习笔记,html5,css,css3,html,前端)
成功撒花特效
吉吉安
css特效 撒花特效 撒花动画 成功特效 前端 前端开发
基础效果:前端安装并引入canvas-confetti包如有问题请使用满血版DeepSeek/国内直连GPT/Claude解答1.安装npminstall--savecanvas-confetti2.在前端代码中引用importconfettifrom'canvas-confetti';2.在前端代码中使用把下面这个直接放到你的函数里面,调用即可,调用时机由自己控制,比如成功状态或者其他时机con
CSS实现自上层放大动画
吉吉安
css 前端 CSS动画 动画
CSS实现上层放大动画所有的css动画代码可在css动画网站直接复制代码;以下为上述演示动画代码:.scale-up-top{animation:scale-up-top0.4scubic-bezier(0.390,0.575,0.565,1.000);}@keyframesscale-up-top{0%{transform:scale(0.5);transform-origin:50%0%;}1
基于Java毕业设计学术会议论文稿件管理系统源码+系统+mysql+lw文档+部署软件
练练科技
java 课程设计 mysql
基于Java毕业设计学术会议论文稿件管理系统源码+系统+mysql+lw文档+部署软件基于Java毕业设计学术会议论文稿件管理系统源码+系统+mysql+lw文档+部署软件本源码技术栈:项目架构:B/S架构开发语言:Java语言开发软件:ideaeclipse前端技术:Layui、HTML、CSS、JS、JQuery等技术后端技术:JAVA运行环境:Win10、JDK1.8数据库:MySQL5.7
如何使用EchartS
前段技术人
echarts 前端 javascript
1.引入ECharts库你可以通过以下两种方式引入ECharts库:方法一:使用CDN在HTML文件的标签中添加以下代码:EChartsExample方法二:下载并本地引入你可以从ECharts官方网站下载ECharts的压缩包,解压后将echarts.min.js文件复制到你的项目目录中,然后在HTML文件中引入:EChartsExample2.创建DOM容器在HTML文件的标签中创建一个具有指
java计算机毕业设计web实验室课表管理系统源码+mysql数据库+系统+lw文档+部署
花样1999
mysql 数据库 java
java计算机毕业设计web实验室课表管理系统源码+mysql数据库+系统+lw文档+部署java计算机毕业设计web实验室课表管理系统源码+mysql数据库+系统+lw文档+部署本源码技术栈:项目架构:B/S架构开发语言:Java语言开发软件:ideaeclipse前端技术:Layui、HTML、CSS、JS、JQuery等技术后端技术:JAVA运行环境:Win10、JDK1.8数据库:MySQ
java计算机毕业设计运动会管理系统源码+mysql数据库+系统+lw文档+部署
沪港
mysql java 数据库
java计算机毕业设计运动会管理系统源码+mysql数据库+系统+lw文档+部署java计算机毕业设计运动会管理系统源码+mysql数据库+系统+lw文档+部署本源码技术栈:项目架构:B/S架构开发语言:Java语言开发软件:ideaeclipse前端技术:Layui、HTML、CSS、JS、JQuery等技术后端技术:JAVA运行环境:Win10、JDK1.8数据库:MySQL5.7/8.0源码
springboot029网上购物商城系统
Q_97095639
springboot毕业设计 数据库 毕业设计 课程设计
版权声明所有作品均为本人原创,提供参考学习使用,如需要源码+数据库+配套文档请移步www.taobysj.com搜索获取技术实现开发语言:Java+vue。框架:后端spingboot+前端vue。模式:B/S。数据库:mysql。开发工具:idea。论文字数:1万左右。数据库表个数:10个左右。运行环境:jdk+idea+mysql。版本不限制,包安装运行!项目优点:前后端分离,注释详细,代码简
N年CSS开发总结的20条CSS开发技巧,适合高手新手小白!!
YOLO大师
css html html5
文章目录经过一晚上的努力,我写下了这篇文章,总结了我这几年在CSS开发中的想法。CSS的全称是CascadingStyleSheets,这意味这CSS是级联的样式表。你可以通过看看这个关于CSS级联的精彩网站(有测验!)来了解更多的技巧。现在大量的通过游戏来学习CSS的网站已经开始火爆,flex布局:https://flexboxfroggy.com/Grid布局:https://cssgridg
前端布局的方式有哪些
IT木昜
大白话前端面试题 前端
前端布局的方式有哪些在前端开发里,布局就像是装修房子,把不同的东西合理地摆放在合适的位置,让整个空间既美观又实用。下面给你介绍几种常见的前端布局方式:1.普通流布局(标准文档流布局)这就像是按顺序往书架上摆书,一本挨着一本,从左到右,从上到下依次排列。在网页里,元素默认就是按照这种方式排列的。比如段落、标题这些元素,一个接一个地显示在页面上。块级元素(像、等)会独占一行,就像大本书会占一整层书架;
HTML CSS整理笔记(建议收藏)
程序员的生活1
js web前端 html+css css javascript html css3
点击链接后退页面:回到上一个网页——修改placeholder提示的样式:打造全网web前端全栈资料库(总目录)看完学的更快,掌握的更加牢固,你值得拥有(持续更新)1.除IE外通用写法类名或标签名::placeholder{color:red;}2.加兼容前缀写法css超出一行显示省略号:给定宽度(width:100px)、超出隐藏(overflow:hidden)、强制在同一行显示(white-
一些我不知道的HTML前端基础知识笔记
han1140521792
学习资料 HTML5 CSS JavaScript
点击链接后退页面:回到上一个网页——修改placeholder提示的样式:1.除IE外通用写法类名或标签名::placeholder{color:red;}2.加兼容前缀写法css超出一行显示省略号:给定宽度(width:100px)、超出隐藏(overflow:hidden)、强制在同一行显示(white-space:nowrap)、省略号(text-overflow:ellipsis)——常见
第三章:组件开发实战 - 第五节 - Tailwind CSS 响应式导航栏实现
qianmoQ
Tailwind CSS:现代化开发实战指南 css 前端
导航栏是几乎所有网站都必备的组件,一个好的响应式导航栏需要在不同设备上都能提供出色的用户体验。本节将介绍如何使用TailwindCSS实现功能完善的响应式导航栏。基础导航栏结构桌面端导航<divclass
Vue3CompositionAPI
jpruby
vue
Vue3CompositionAPI第一章最终效果演示1.下载依赖npminstall2.启动前端npmrundev3.启动数据json-server--watchdata/db.json--port=3003第二章创建项目1.vite创建项目npminitvite@latestvite-blog----templatevue2.App.vueApp.vue3.Home.vue1.测试setup的
PyWebIo 快速构建web应用
java全套学习资料
前端 html npm vue.js 前端
Part1什么是PyWebIoPyWebIO提供了一系列命令式的交互函数来在浏览器上获取用户输入和进行输出,将浏览器变成了一个“富文本终端”,可以用于构建简单的Web应用或基于浏览器的GUI应用。使用PyWebIO,开发者能像编写终端脚本一样(基于input和print进行交互)来编写应用,无需具备HTML和JS的相关知识;PyWebIO还可以方便地整合进现有的Web服务。非常适合快速构建对UI要
jvm的内存分配机制
四条腿
java虚拟机 jvm 内存分配 内存
在学习jvm的内存分配的时候,看到的这篇博客,该博客对jvm的内存分配总结的很好,同时也利用jvm的内存模型解释了java程序中有关参数传递的问题。博客出处:http://www.cnblogs.com/hellocsl/p/3969768.html?utm_source=tuicool&utm_medium=referral看了此博客后,发现应该去深入学习下jvm的内存模型,就是去认真学习下《深
前端现代年轻人的“通病”:我们该如何应对?
人民广场吃泡面
大前端发展探讨 前端
引言随着互联网技术的飞速发展,前端开发已经成为IT行业中最热门的领域之一。越来越多的年轻人选择投身前端开发,追求高薪、自由和创造力。然而,在前端开发的浪潮中,许多年轻人也暴露出了一些“通病”。这些“通病”不仅影响了他们的职业发展,还可能对整个团队和项目产生负面影响。本文将深入探讨现代年轻前端开发者常见的“通病”,分析其背后的原因,并提出一些实用的建议,帮助大家更好地应对这些挑战。目录前端年轻人的“
pnpm、npm、yarn 包管理工具『优劣对比』及『环境迁移』
「已注销」
npm
前言博主在开发前端网站的时候,发现随着开发的项目的逐渐增多,安装的依赖包越来越臃肿,依赖包的安装速度也是非常越来越慢,多项目开发管理也是比较麻烦。之前我就了解过pnpm,但是当时担心更换包管理环境可能会出现的依赖等问题,并且也没有急切的需求,所以当时并没有立即更换综上所述,随着上面问题的出现,更换包管理环境也逐渐提上日程,所以本文主要将会简单对比pnpm和npm/yarn,并且详细讲解如何在多项目
前端项目git提交时做代码规范验证
一个水货程序员
git 前端 代码规范
前端项目git提交时做代码规范验证需要使用到的插件:husky,是一个GitHook工具,为git客户端增加hook的。lint-staged,在git提交前,进行代码规则检查确保入库的代码都符合代码规则,如果对整个项目进行lint这样速度太慢,lint-staged可以让lint只检测暂存区的文件,提高检测速度。当前依赖版本:husky版本:^8.0.1,lint-staged版本:^13.0.
M1 Mac双系统搭建qemu riscv linux仿真
灰灰h
操作系统 经验分享 linux risc-v macos
前言实验需要riscv仿真,网上没有针对m1的配置教程,故在此整理下。本人用的m1macbookpro,系统12.3。参考到的链接:https://github.com/AsahiLinuxhttps://risc-v-getting-started-guide.readthedocs.io/en/latest/linux-qemu.htmlhttps://zhuanlan.zhihu.com/p
QEMU-Manager:Mac上的QEMU图形化管理利器
苏承根
QEMU-Manager:Mac上的QEMU图形化管理利器项目地址:https://gitcode.com/gh_mirrors/qe/QEMU-Manager在探索虚拟化的浩瀚世界时,找到一个既强大又易用的工具至关重要。今天,我们要向您隆重推荐QEMU-Manager——一款专为macOS设计的QEMU图形前端,由Swift语言精心打造。通过这篇文章,我们将深入挖掘QEMU-Manager的魅力
VB.NET基于WEB房地产评估系统(源代码+文档)
csdn663648
.net 前端 microsoft
资料介绍:--------------摘要--------------房地产评估系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本系统特有的房屋基本情况、专业评估人员、估价方法等。经过分析,我们使用MICROSOFT公司的VISUALBA
通用评估系统(五)- 前端部分总体说明
一个水货程序员
项目实战 前端 fastapi python vue
通用评估系统(五)-前端部分总体说明相关链接Gitee地址通用评估系统(一)-介绍通用评估系统(二)-原型设计通用评估系统(三)-前端部分通用评估系统(四)-前端部分计算脚本编辑组件文档说明本节中说明前端总体显示相关信息。具体数据交互待后端开发时同步进行。目录结构实际显示效果全局搜索评估模型管理数据模型管理指标体系管理评估任务管理部分代码说明评估模型管理组件import{ref,h,compute
Docker安装分布式vLLM
MasonYyp
docker 分布式 容器
Docker安装分布式vLLM1介绍vLLM是一个快速且易于使用的LLM推理和服务库,适合用于生产环境。单主机部署会遇到显存不足的问题,因此需要分布式部署。分布式安装方法https://docs.vllm.ai/en/latest/serving/distributed_serving.html2安装方法⚠️注意:前期一定要把docker环境、运行时和GPU安装好。CUDAVersion:12.4
博客搭建之路:next主题数学公式问题
后端
next主题数学公式问题我写的都是一些编程相关的文章,有些文章里是存在数学公式的,我在Typora软件中写的时候显示的是对的,但是hexo将markdown转为html后在页面上就没有数学公式的格式了。查找next配置发现有一个渲染数学公式的配置math:#Default(true)willloadmathjax/katexscriptondemand.#Thatisitonlyrendertho
Python aiohttp
YOYO__2018
客户端importaiohttpimportasyncioasyncdeffetch(session,url):asyncwithsession.get(url)asresponse:returnawaitresponse.text()asyncdefmain():asyncwithaiohttp.ClientSession()assession:html=awaitfetch(session,'
【Three.js】JS 3D library(一个月进化史)
Tiffany_Ho
前端 Three.js
#春节过完了,该继续投入学习了~作为一个平面开发者,想要增进更多的技能,掌握web3D开发#前置知识与技能1.JavaScript基础-掌握ES6+语法(类、模块、箭头函数、解构等)-熟悉异步编程(Promise、async/await)-了解事件循环和DOM操作2.HTML5和CSS3-熟悉Canvas和WebGL的基础概念-了解CSS3动画和变换(transform、transition)3.
ASP.NET MVC实现layui富文本编辑器应用
福伴
先看看视图层在视图层,使用的是视图助手–HtmlHelper,代替我们网页中传统的表单标签元素,其中的m代表实体模型。通过视图助手,为我们生成id和name属性相同的textarea标签。备注:在ASP.NETMVC中,能提交表单数据的元素(各种类型的input标签,textarea等),其属性name的值于实体模型中的属性名相同时,传递到控制器中的实体模型或参数,会自动进行映射,方便前端到后台的
Python如何播放本地音乐并在web页面播放
玩人工智能的辣条哥
开源项目AI Sphere Butler python 前端 开发语言
环境:Python问题描述:Python如何播放本地音乐并在web页面播放解决方案:要在Python中播放本地音乐并在Web页面中播放,您可以采用两种不同的方法:一种是在服务器端使用Python播放音频文件,另一种是创建一个Web应用程序,在客户端通过HTML5的标签来播放音频文件。下面我将分别介绍这两种方法。方法1:使用Python播放本地音乐如果您只是想在服务器端(例如在开发环境中)播放本地音
Dify rerank model is deprecated in knowledge base
人工智能
这是可优化的细节。这里过时的提示倾向于说工作空间有一个默认的重新排名模型,但在执行一些前端逻辑后我们发现当前的重新排名模型是空的或未定义的,因此这个当前模型已过时。但这里默认模型实际上是一个所有字段都是空字符串的模型结构:{"provider":"","model":""}在这种情况下,缺省模型实际上是空的且无效。因此,在这里我们不会显示过时标志,而是更有可能告诉用户为工作区配置至少一个重排序模型
AI前端开发:重塑工作环境与企业文化
suibian5235
人工智能 前端
近年来,人工智能(AI)技术的飞速发展深刻地改变着各个行业,前端开发领域也不例外。随着AI写代码工具的涌现,AI前端开发模式逐渐兴起,并对传统的前端开发模式带来了巨大的冲击。本文将深入探讨AI前端开发如何影响我们的工作环境和企业文化,并对未来的发展趋势进行展望。……AI前端开发对工作环境的影响AI前端开发的出现,最直接的影响体现在工作效率的提升和工作压力的变化上。许多AI工具,例如ScriptEc
Dom
周华华
JavaScript html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
【Spark九十六】RDD API之combineByKey
bit1129
spark
1. combineByKey函数的运行机制
RDD提供了很多针对元素类型为(K,V)的API,这些API封装在PairRDDFunctions类中,通过Scala隐式转换使用。这些API实现上是借助于combineByKey实现的。combineByKey函数本身也是RDD开放给Spark开发人员使用的API之一
首先看一下combineByKey的方法说明:
msyql设置密码报错:ERROR 1372 (HY000): 解决方法详解
daizj
mysql 设置密码
MySql给用户设置权限同时指定访问密码时,会提示如下错误:
ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number;
问题原因:你输入的密码是明文。不允许这么输入。
解决办法:用select password('你想输入的密码');查询出你的密码对应的字符串,
然后
路漫漫其修远兮 吾将上下而求索
周凡杨
学习 思索
王国维在他的《人间词话》中曾经概括了为学的三种境界古今之成大事业、大学问者,罔不经过三种之境界。“昨夜西风凋碧树。独上高楼,望尽天涯路。”此第一境界也。“衣带渐宽终不悔,为伊消得人憔悴。”此第二境界也。“众里寻他千百度,蓦然回首,那人却在灯火阑珊处。”此第三境界也。学习技术,这也是你必须经历的三种境界。第一层境界是说,学习的路是漫漫的,你必须做好充分的思想准备,如果半途而废还不如不要开始。这里,注
Hadoop(二)对话单的操作
朱辉辉33
hadoop
Debug:
1、
A = LOAD '/user/hue/task.txt' USING PigStorage(' ')
AS (col1,col2,col3);
DUMP A;
//输出结果前几行示例:
(>ggsnPDPRecord(21),,)
(-->recordType(0),,)
(-->networkInitiation(1),,)
web报表工具FineReport常用函数的用法总结(日期和时间函数)
老A不折腾
finereport 报表工具 web开发
web报表工具FineReport常用函数的用法总结(日期和时间函数)
说明:凡函数中以日期作为参数因子的,其中日期的形式都必须是yy/mm/dd。而且必须用英文环境下双引号(" ")引用。
DATE
DATE(year,month,day):返回一个表示某一特定日期的系列数。
Year:代表年,可为一到四位数。
Month:代表月份。
c++ 宏定义中的##操作符
墙头上一根草
C++
#与##在宏定义中的--宏展开 #include <stdio.h> #define f(a,b) a##b #define g(a) #a #define h(a) g(a) int main() { &nbs
分析Spring源代码之,DI的实现
aijuans
spring DI 现 源代码
(转)
分析Spring源代码之,DI的实现
2012/1/3 by tony
接着上次的讲,以下这个sample
[java]
view plain
copy
print
for循环的进化
alxw4616
JavaScript
// for循环的进化
// 菜鸟
for (var i = 0; i < Things.length ; i++) {
// Things[i]
}
// 老鸟
for (var i = 0, len = Things.length; i < len; i++) {
// Things[i]
}
// 大师
for (var i = Things.le
网络编程Socket和ServerSocket简单的使用
百合不是茶
网络编程基础 IP地址端口
网络编程;TCP/IP协议
网络:实现计算机之间的信息共享,数据资源的交换
协议:数据交换需要遵守的一种协议,按照约定的数据格式等写出去
端口:用于计算机之间的通信
每运行一个程序,系统会分配一个编号给该程序,作为和外界交换数据的唯一标识
0~65535
查看被使用的
JDK1.5 生产消费者
bijian1013
java thread 生产消费者 java多线程
ArrayBlockingQueue:
一个由数组支持的有界阻塞队列。此队列按 FIFO(先进先出)原则对元素进行排序。队列的头部 是在队列中存在时间最长的元素。队列的尾部 是在队列中存在时间最短的元素。新元素插入到队列的尾部,队列检索操作则是从队列头部开始获得元素。
ArrayBlockingQueue的常用方法:
JAVA版身份证获取性别、出生日期及年龄
bijian1013
java 性别 出生日期 年龄
工作中需要根据身份证获取性别、出生日期及年龄,且要还要支持15位长度的身份证号码,网上搜索了一下,经过测试好像多少存在点问题,干脆自已写一个。
CertificateNo.java
package com.bijian.study;
import java.util.Calendar;
import
【Java范型六】范型与枚举
bit1129
java
首先,枚举类型的定义不能带有类型参数,所以,不能把枚举类型定义为范型枚举类,例如下面的枚举类定义是有编译错的
public enum EnumGenerics<T> { //编译错,提示枚举不能带有范型参数
OK, ERROR;
public <T> T get(T type) {
return null;
【Nginx五】Nginx常用日志格式含义
bit1129
nginx
1. log_format
1.1 log_format指令用于指定日志的格式,格式:
log_format name(格式名称) type(格式样式)
1.2 如下是一个常用的Nginx日志格式:
log_format main '[$time_local]|$request_time|$status|$body_bytes
Lua 语言 15 分钟快速入门
ronin47
lua 基础
-
-
单行注释
-
-
[[
[多行注释]
-
-
]]
-
-
-
-
-
-
-
-
-
-
-
1.
变量 & 控制流
-
-
-
-
-
-
-
-
-
-
num
=
23
-
-
数字都是双精度
str
=
'aspythonstring'
java-35.求一个矩阵中最大的二维矩阵 ( 元素和最大 )
bylijinnan
java
the idea is from:
http://blog.csdn.net/zhanxinhang/article/details/6731134
public class MaxSubMatrix {
/**see http://blog.csdn.net/zhanxinhang/article/details/6731134
* Q35
求一个矩阵中最大的二维
mongoDB文档型数据库特点
开窍的石头
mongoDB文档型数据库特点
MongoDD: 文档型数据库存储的是Bson文档-->json的二进制
特点:内部是执行引擎是js解释器,把文档转成Bson结构,在查询时转换成js对象。
mongoDB传统型数据库对比
传统类型数据库:结构化数据,定好了表结构后每一个内容符合表结构的。也就是说每一行每一列的数据都是一样的
文档型数据库:不用定好数据结构,
[毕业季节]欢迎广大毕业生加入JAVA程序员的行列
comsci
java
一年一度的毕业季来临了。。。。。。。。
正在投简历的学弟学妹们。。。如果觉得学校推荐的单位和公司不适合自己的兴趣和专业,可以考虑来我们软件行业,做一名职业程序员。。。
软件行业的开发工具中,对初学者最友好的就是JAVA语言了,网络上不仅仅有大量的
PHP操作Excel – PHPExcel 基本用法详解
cuiyadll
PHP Excel
导出excel属性设置//Include classrequire_once('Classes/PHPExcel.php');require_once('Classes/PHPExcel/Writer/Excel2007.php');$objPHPExcel = new PHPExcel();//Set properties 设置文件属性$objPHPExcel->getProperties
IBM Webshpere MQ Client User Issue (MCAUSER)
darrenzhu
IBM jms user MQ MCAUSER
IBM MQ JMS Client去连接远端MQ Server的时候,需要提供User和Password吗?
答案是根据情况而定,取决于所定义的Channel里面的属性Message channel agent user identifier (MCAUSER)的设置。
http://stackoverflow.com/questions/20209429/how-mca-user-i
网线的接法
dcj3sjt126com
一、PC连HUB (直连线)A端:(标准568B):白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。 B端:(标准568B):白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。 二、PC连PC (交叉线)A端:(568A): 白绿,绿,白橙,蓝,白蓝,橙,白棕,棕; B端:(标准568B):白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。 三、HUB连HUB&nb
Vimium插件让键盘党像操作Vim一样操作Chrome
dcj3sjt126com
chrome vim
什么是键盘党?
键盘党是指尽可能将所有电脑操作用键盘来完成,而不去动鼠标的人。鼠标应该说是新手们的最爱,很直观,指哪点哪,很听话!不过常常使用电脑的人,如果一直使用鼠标的话,手会发酸,因为操作鼠标的时候,手臂不是在一个自然的状态,臂肌会处于绷紧状态。而使用键盘则双手是放松状态,只有手指在动。而且尽量少的从鼠标移动到键盘来回操作,也省不少事。
在chrome里安装 vimium 插件
MongoDB查询(2)——数组查询[六]
eksliang
mongodb MongoDB查询数组
MongoDB查询数组
转载请出自出处:http://eksliang.iteye.com/blog/2177292 一、概述
MongoDB查询数组与查询标量值是一样的,例如,有一个水果列表,如下所示:
> db.food.find()
{ "_id" : "001", "fruits" : [ "苹
cordova读写文件(1)
gundumw100
JavaScript Cordova
使用cordova可以很方便的在手机sdcard中读写文件。
首先需要安装cordova插件:file
命令为:
cordova plugin add org.apache.cordova.file
然后就可以读写文件了,这里我先是写入一个文件,具体的JS代码为:
var datas=null;//datas need write
var directory=&
HTML5 FormData 进行文件jquery ajax 上传 到又拍云
ileson
jquery Ajax html5 FormData
html5 新东西:FormData 可以提交二进制数据。
页面test.html
<!DOCTYPE>
<html>
<head>
<title> formdata file jquery ajax upload</title>
</head>
<body>
<
swift appearanceWhenContainedIn:(version1.2 xcode6.4)
啸笑天
version
swift1.2中没有oc中对应的方法:
+ (instancetype)appearanceWhenContainedIn:(Class <UIAppearanceContainer>)ContainerClass, ... NS_REQUIRES_NIL_TERMINATION;
解决方法:
在swift项目中新建oc类如下:
#import &
java实现SMTP邮件服务器
macroli
java 编程
电子邮件传递可以由多种协议来实现。目前,在Internet 网上最流行的三种电子邮件协议是SMTP、POP3 和 IMAP,下面分别简单介绍。
◆ SMTP 协议
简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)是一个运行在TCP/IP之上的协议,用它发送和接收电子邮件。SMTP 服务器在默认端口25上监听。SMTP客户使用一组简单的、基于文本的
mongodb group by having where 查询sql
qiaolevip
每天进步一点点 学习永无止境 mongo 纵观千象
SELECT cust_id,
SUM(price) as total
FROM orders
WHERE status = 'A'
GROUP BY cust_id
HAVING total > 250
db.orders.aggregate( [
{ $match: { status: 'A' } },
{
$group: {
Struts2 Pojo(六)
Luob.
POJO strust2
注意:附件中有完整案例
1.采用POJO对象的方法进行赋值和传值
2.web配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee&q
struts2步骤
wuai
struts
1、添加jar包
2、在web.xml中配置过滤器
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.st