,
等。
内联元素 (Inline elements
):
块级元素和内联元素的区别主要体现在以下几个方面:
显示方式 :块级元素以块的形式显示,即自动换行且占据一整行或多行的宽度;内联元素则与其他元素在一行上显示,不会换行。
盒模型 :块级元素可以设置宽度、高度、内外边距等样式属性,可以直接控制元素的盒模型;内联元素的宽度和高度由其内容决定,不能直接设置。
默认样式 :块级元素的默认样式是display: block;
,而内联元素的默认样式是display: inline;
。
嵌套规则 :块级元素可以包含其他块级元素和内联元素;内联元素不能包含块级元素,只能包含其他内联元素或者文本内容。
需要注意的是,可以通过CSS的属性display
来改变元素的显示方式,将块级元素设置为内联元素或将内联元素设置为块级元素。
二、css
1. 盒模型的宽度offsetWidth如何计算
盒模型的宽度offsetWidth
是指一个元素的整体宽度,包括内容区域的宽度(content
) 、内边距 (padding
)以及边框 (border
)。
在计算offsetWidth
时,浏览器会将元素的内容区域宽度、内边距宽度和边框宽度都考虑在内。 举例说明:
假设有一个 div 元素,设置了如下样式:
div {
width : 300px;
padding : 10px;
border : 1px solid black;
}
这个 div 元素的盒模型宽度可以这样计算:
内容宽度:指定的宽度为 300px。
内边距和边框宽度:左右两侧的内边距为 10px,上下两侧的内边距为 10px;四条边的边框宽度为 1px。
因此,盒模型的总宽度为 300px + 2 * 10px + 2 * 1px = 322px
。
2. box-sizing:border-box有什么用
"box-sizing: border-box;
"是一个用于 CSS 的属性,它指定了元素的盒子模型计算方式,并将CSS的宽度(width
)和高度(height
)的计算方式修改为包括边框(border
)和内边距(padding
)的计算。
举例来说,如果一个元素宽度被设置为200px并且应用了一些边框和内边距,如果没有使用"box-sizing: border-box
;"属性,那么元素的实际宽度将会变大,以包括边框和内边距的大小。而如果使用了"box-sizing: border-box
;"属性,元素的实际宽度将会保持为200px,并且边框和内边距将会减少自动适应。
下面是一个示例,展示了使用和不使用"box-sizing: border-box;"属性的区别:
HTML:
< div class = " example" > div>
CSS:
.example {
width : 200px;
height : 100px;
padding : 10px;
border : 5px solid black;
background-color : lightgray;
box-sizing : border-box;
}
在上述例子中,使用了"box-sizing: border-box;
“属性,因此元素的实际宽度仍然为200px
,包括边框和内边距。如果没有使用该属性,元素的实际宽度将会变为230px(宽度 + 左右边距 + 左右边框),因为默认的"box-sizing
"属性值是"content-box
”,即只包括内容。
这个属性特别有用的一个场景是当需要制作一个带有固定宽度的网格系统时,可以使用该属性确保每列总宽度都是固定的,而不会因为边框和内边距的存在而超出指定的宽度范围 。
3. margin的纵向重叠问题
纵向重叠问题是指当相邻的元素都设置了上下边距(margin),并且上一个元素的下边距与下一个元素的上边距之和超过了一定的阈值(常为负数),则两者之间的垂直间距会取两个边距值中的较大者 。
举一个具体的例子,假设有两个相邻的块级元素,分别是div1和div2,它们的CSS样式如下:
div1 {
margin-bottom : 20px;
}
div2 {
margin-top : 30px;
}
在正常情况下,div1和div2之间的垂直间距应该是20px+30px=50px。然而,因为它们的边距之和超过了一定的阈值,实际渲染结果会取两个边距值中的较大者,即30px,所以div1和div2之间的垂直间距为30px 。
这种纵向重叠问题通常出现在嵌套的块级元素中,比如一个列表中的每个列表项(li)都设置了上下边距,而整个列表外又设置了上下边距。当边距值的和超过了阈值时,列表项之间会出现较大的垂直间距,而不是累加所有边距值的和。为了避免这个问题,可以使用其他的方式来实现元素之间的间距,如padding、border等 。
4. 谈谈你对BFC的理解和应用
BFC
是块格式化上下文 (Block Formatting Context
)的缩写,BFC
可以看作是一个封闭的容器,容器内的元素布局不会影响到容器外的元素。
形成bfc的条件
条件
描述
根元素
根元素(html)默认就是一个 bfc
浮动元素
浮动元素(float不为none)
绝对定位元素
绝对定位元素(position为absolute和fixed)
display为inline-block、table-cell等
display为inline-block、table-cell等
overflow不为visible
overflow不为visible的块级元素
常见的bfc应用场景:
清除浮动 :当容器内部有浮动元素时,容器的高度会塌陷,不会撑开容器。我们可以通过创建一个BFC来清除浮动,使得容器能够正常显示高度。可以通过给容器设置overflow: hidden
或者display: table
来创建BFC。
防止外边距合并 :在正常流布局中,相邻的块级元素的垂直外边距会发生合并,导致元素之间的间距变大。但是在BFC中,相邻块级元素的垂直外边距不会合并。可以通过给元素创建BFC来防止外边距合并,可以通过设置float
、position: absolute
、overflow: hidden
等属性来创建BFC。
实现多列布局 :BFC可以实现多列布局,通过给容器设置column-count
或者column-width
属性,可以将容器内的内容按照多列进行布局。由于每一列都处于独立的BFC中,因此列与列之间的布局互不影响。
5. 清除浮动有哪些方式
清除浮动的方式有以下几种:
使用clearfix 需要在浮动元素的父元素中添加clearfix类,然后通过该类设置clear:both属性来清除浮动。示例代码如下:
< div class = " clearfix" >
< div class = " float-left" > 左浮动元素 div>
< div class = " float-right" > 右浮动元素 div>
div>
.clearfix::after {
content : "" ;
display : table;
clear : both;
}
.float-left {
float : left;
}
.float-right {
float : right;
}
使用空元素添加clear属性 在浮动元素的父元素中添加一个空元素,然后使用clear属性来清除浮动。示例代码如下:
< div class = " clear-float" >
< div class = " float-left" > 左浮动元素 div>
< div class = " float-right" > 右浮动元素 div>
< div style = " clear : both; " > div>
div>
使用overflow:hidden 在浮动元素的父元素中设置overflow属性为hidden,可以使父元素自动包含浮动子元素,从而清除浮动。示例代码如下:
< div class = " float-parent" >
< div class = " float-left" > 左浮动元素 div>
< div class = " float-right" > 右浮动元素 div>
div>
.float-parent {
overflow : hidden;
}
.float-left {
float : left;
}
.float-right {
float : right;
}
6. 使用flex布局实现骰子3
效果如下:
示例代码:
DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" />
< meta name = " viewport" content = " width=device-width, initial-scale=1.0" />
< title> 骰子三点布局 title>
< style>
.dice {
display : flex;
justify-content : center;
align-items : center;
width : 50px;
height : 50px;
border : 1px solid #000;
}
.dot {
width : 10px;
height : 10px;
background-color : #000;
border-radius : 50%;
margin : 2px;
}
.dot:nth-child(1) {
align-self : flex-start;
}
.dot:nth-child(3) {
align-self : flex-end;
}
style>
head>
< body>
< div class = " dice" >
< span class = " dot" > span>
< span class = " dot" > span>
< span class = " dot" > span>
div>
body>
html>
主要考察的是交叉轴的align-self属性。
7.position的absolute和relative定位问题
position:absolute
使元素的位置相对于其最近的已定位的祖先元素进行定位 。如果没有已定位的祖先元素,则相对于最初的包含块(通常是浏览器窗口)进行定位。使用position:absolute时,可以使用top、bottom、left和right属性来指定元素相对于其定位父元素的偏移位置。绝对定位的元素会完全从正常的文档流中脱离,并且不保留其空间
position:relative
则使元素相对于正常文档流进行定位 。在使用position:relative时,可以使用top、bottom、left和right属性来指定元素相对于其原始位置的偏移。相对定位不会从元素在正常文档流中的位置中删除元素。相对定位的元素仍然占据其原始的空间,因此周围的元素不会发生布局变化
为什么常用“子绝父相”进行定位布局 ?
"子绝父相 "是指子元素使用position:absolute进行定位,父元素使用position:relative进行定位的布局方式。这种方式常用于构建复杂的页面布局,具有一些优点:
父元素的position:relative会创建一个新的定位上下文,使得子元素相对于其定位,而不会影响其他元素的布局。
子元素的position:absolute允许完全自由的定位。可以通过指定top、bottom、left和right属性来控制子元素在父元素中的精确位置。
可以方便地创建重叠和层叠效果,使得布局更加灵活。
举个例子,假设我们有以下HTML代码 :
< div class = " parent" >
< div class = " child" > div>
div>
CSS代码如下:
.parent {
position : relative;
height : 200px;
width : 200px;
background-color : lightblue;
}
.child {
position : absolute;
top : 50px;
left : 50px;
height : 50px;
width : 50px;
background-color : red;
}
在这个例子中,父元素(class=“parent”)被设置为position:relative,这意味着子元素(class=“child”)将相对于父元素进行定位。子元素使用position:absolute进行定位,并且设置top和left属性使其与父元素的左上角偏移50像素。
8. 水平居中的实现方式
使用text-align属性 :可以在父元素上设置text-align属性为"center",将其子元素水平居中对齐。
.parent {
text-align : center;
}
.child {
display : inline-block;
}
使用margin属性 :通过设置子元素的左右margin
值为"auto
",可以将其水平居中对齐。
.parent {
width : 300px;
}
.child {
margin-left : auto;
margin-right : auto;
}
使用flexbox布局 :使用flexbox布局可以轻松实现水平居中对齐。
.parent {
display : flex;
justify-content : center;
}
.child {
}
使用grid布局 :通过将子元素放置在父元素的中心单元格中,可以实现水平居中对齐。
.parent {
display : grid;
place-items : center;
}
.child {
}
使用绝对定位与transform属性 :通过将子元素的左右偏移设置为50%并且使用transform属性的translateX(-50%)
将其平移回来可以实现水平居中对齐。
.parent {
position : relative;
}
.child {
position : absolute;
left : 50%;
transform : translateX ( -50%) ;
}
9.水平垂直居中的实现方式
使用绝对定位和transform属性 :
.container {
position: relative;
}
.centered {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
将父容器设置为相对定位,然后将子容器设置为绝对定位,通过设置left和top为50%,再使用transform属性将内容向左和向上平移50%的宽度和高度,从而实现水平垂直居中对齐。
使用Flexbox布局 :
.container {
display: flex;
justify-content: center;
align-items: center;
}
将父容器设置为Flex布局,并使用justify-content: center;
和align-items: center;
属性使内容在水平和垂直方向上都居中对齐。
设置容器的text-align
属性为center
,使文本在容器中水平居中 根据目标元素的高度,调整line-height
的值,使得目标元素在容器中垂直居中
DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" />
< meta name = " viewport" content = " width=device-width, initial-scale=1.0" />
< title> 垂直居中 title>
< style>
.container {
height : 200px;
line-height : 200px;
text-align : center;
border : 1px solid black;
}
.target {
border : 1px solid red;
display : inline-block;
line-height : normal;
vertical-align : middle;
}
style>
head>
< body>
< div class = " container" >
< div class = " target" > 居中文本 div>
div>
body>
html>
绝对定位加margin:auto 实现 可以使用绝对定位和margin:auto来实现水平垂直居中,可以按照以下步骤进行操作:
父元素需要设置position: relative
,用于作为相对定位的基准。
子元素需要设置position: absolute
,以便于进行绝对定位。
子元素设置top: 0
,left: 0
,bottom: 0
,right: 0
,这样可以将子元素拉伸至父元素的边界。
子元素设置margin: auto
,让子元素在父元素中居中。
效果如下: 示例代码如下:
DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" />
< meta name = " viewport" content = " width=device-width, initial-scale=1.0" />
< title> margin:auto居中 title>
< style>
.parent {
position : relative;
width : 600px;
height : 500px;
background-color : lightgray;
}
.child {
position : absolute;
top : 0;
left : 0;
bottom : 0;
right : 0;
margin : auto;
width : 200px;
height : 100px;
background-color : white;
}
style>
head>
< body>
< div class = " parent" >
< div class = " child" > 垂直水平居中 div>
div>
body>
html>
10. line-height继承问题
1.当父元素的line-height属性设置为具体像素值50px时,子元素会继承父元素的line-height属性值。无论子元素的font-size属性值是多少,它的行高将始终是50px。
例如,假设父元素的line-height设置为50px,子元素的font-size设置为20px,那么子元素的行高也将是50px。
< div class = " parent" >
< p class = " child" > Lorem ipsum dolor sit amet, consectetur adipiscing elit. p>
div>
CSS样式如下:
.parent {
line-height : 50px;
}
.child {
font-size : 20px;
}
2.当父元素的line-height属性设置为数值3时,子元素会继承该比例。具体取决于子元素的font-size属性值。
假设父元素的line-height属性值为3,子元素的font-size属性值为16px。那么子元素的行高计算如下:
子元素的行高计算公式是:line-height = 父元素的line-height * 子元素的font-size。
父元素的line-height属性值是3,子元素的font-size属性值是16px,所以子元素的行高计算公式是:line-height = 3 * 16px。
子元素的行高计算结果是48px。 因此,子元素的行高为48px。这意味着子元素的文本内容将在每行之间保留48px的空白区域。
如下
< div class = " parent" >
< p class = " child" > 这是子元素 p>
div>
CSS代码:
.parent {
font-size : 20px;
line-height : 3;
}
.child {
font-size : 16px;
}
3.当父元素的line-height属性设置为百分比200%时,子元素会继承父元素的line-height属性计算后的结果。具体取决于父元素的font-size属性值。
< style>
.parent {
font-size : 20px;
line-height : 200%;
}
.child {
font-size : 16px;
}
style>
< div class = " parent" >
< div class = " child" > 子元素的文本内容。 div>
div>
在上述代码中,父元素的line-height
属性值设置为200%(即2倍的字体大小),父元素的font-size
属性值为20px。子元素的font-size
属性值为16px。
根据继承机制和计算规则:
父元素的line-height
属性值会以父元素的font-size
属性值为基准进行计算。即父元素的line-height
计算结果为20px * 200% = 40px
。
子元素会继承父元素的计算后的line-height
属性值。因此,子元素的line-height
属性值也为40px。
11. rem,em,px
在CSS中,rem、em和px都是用于指定元素大小的单位。
rem(根元素相对单位) :rem单位是相对于根元素(即元素)的字体大小的单位。如果根元素的字体大小为16px,则1rem等于16px。rem单位的主要优势是能够根据根元素的字体大小进行自适应调整,适用于响应式设计 。
em(相对父元素单位 ):em单位是相对于最近的父元素的字体大小的单位。如果父元素的字体大小为16px,则1em等于16px。em单位与rem单位不同之处在于,它是根据父元素的字体大小而不是根元素的字体大小进行计算的。因此,em单位也可以用于实现相对父元素的布局。
px(像素单位) :px单位是像素单位,1px表示屏幕上的一个物理像素,不受其他因素影响。px单位是固定大小的单位,无法根据用户设置进行调整。由于设备显示的物理像素不同,使用px单位可能导致在不同设备上显示不一致的问题 。
总结:
rem单位根据根元素的字体大小进行调整,适用于响应式设计 。
em单位根据父元素的字体大小进行调整,适用于相对布局 。
px单位是固定的像素单位,不受其他因素影响,适用于精确布局 。
12. vw和vh
在CSS中,vw(Viewport Width)和vh(Viewport Height)是相对于视口大小的单位。
vw:1vw等于视口宽度的1%。例如,如果视口的宽度是1000px,那么1vw就等于10px。
vh:1vh等于视口高度的1%。例如,如果视口的高度是800px,那么1vh就等于8px。
vw 和 vh 单位的用途是根据设备的视口大小(即浏览器窗口大小)来调整元素的尺寸。这对于创建响应式布局非常有用,可以使元素在不同设备和窗口尺寸下保持一致的比例。
例如,如果你希望一个元素的宽度占据视口宽度的 50%,你可以使用以下代码:
.element {
width : 50vw;
}
同样地,如果你希望一个元素的高度占据视口高度的 30%,你可以使用以下代码:
.element {
height : 30vh;
}
通过使用 vw 和 vh 单位,你可以创建具有自适应性质的布局,使得网页在不同大小的屏幕上都能良好地展示。
你可能感兴趣的:(面试题,前端,html,css)
Long类型前后端数据不一致
igotyback
前端
响应给前端的数据浏览器控制台中response中看到的Long类型的数据是正常的到前端数据不一致前后端数据类型不匹配是一个常见问题,尤其是当后端使用Java的Long类型(64位)与前端JavaScript的Number类型(最大安全整数为2^53-1,即16位)进行数据交互时,很容易出现精度丢失的问题。这是因为JavaScript中的Number类型无法安全地表示超过16位的整数。为了解决这个问
swagger访问路径
igotyback
swagger
Swagger2.x版本访问地址:http://{ip}:{port}/{context-path}/swagger-ui.html{ip}是你的服务器IP地址。{port}是你的应用服务端口,通常为8080。{context-path}是你的应用上下文路径,如果应用部署在根路径下,则为空。Swagger3.x版本对于Swagger3.x版本(也称为OpenAPI3)访问地址:http://{ip
html 中如何使用 uniapp 的部分方法
某公司摸鱼前端
html uni-app 前端
示例代码:Documentconsole.log(window);效果展示:好了,现在就可以uni.使用相关的方法了
四章-32-点要素的聚合
彩云飘过
本文基于腾讯课堂老胡的课《跟我学Openlayers--基础实例详解》做的学习笔记,使用的openlayers5.3.xapi。源码见1032.html,对应的官网示例https://openlayers.org/en/latest/examples/cluster.htmlhttps://openlayers.org/en/latest/examples/earthquake-clusters.
DIV+CSS+JavaScript技术制作网页(旅游主题网页设计与制作)云南大理
STU学生网页设计
网页设计 期末网页作业 html静态网页 html5期末大作业 网页设计 web大作业
️精彩专栏推荐作者主页:【进入主页—获取更多源码】web前端期末大作业:【HTML5网页期末作业(1000套)】程序员有趣的告白方式:【HTML七夕情人节表白网页制作(110套)】文章目录二、网站介绍三、网站效果▶️1.视频演示2.图片演示四、网站代码HTML结构代码CSS样式代码五、更多源码二、网站介绍网站布局方面:计划采用目前主流的、能兼容各大主流浏览器、显示效果稳定的浮动网页布局结构。网站程
【加密社】Solidity 中的事件机制及其应用
加密社
闲侃 区块链 智能合约 区块链
加密社引言在Solidity合约开发过程中,事件(Events)是一种非常重要的机制。它们不仅能够让开发者记录智能合约的重要状态变更,还能够让外部系统(如前端应用)监听这些状态的变化。本文将详细介绍Solidity中的事件机制以及如何利用不同的手段来触发、监听和获取这些事件。事件存储的地方当我们在Solidity合约中使用emit关键字触发事件时,该事件会被记录在区块链的交易收据中。具体而言,事件
关于城市旅游的HTML网页设计——(旅游风景云南 5页)HTML+CSS+JavaScript
二挡起步
web前端期末大作业 javascript html css 旅游 风景
⛵源码获取文末联系✈Web前端开发技术描述网页设计题材,DIV+CSS布局制作,HTML+CSS网页设计期末课程大作业|游景点介绍|旅游风景区|家乡介绍|等网站的设计与制作|HTML期末大学生网页设计作业,Web大学生网页HTML:结构CSS:样式在操作方面上运用了html5和css3,采用了div+css结构、表单、超链接、浮动、绝对定位、相对定位、字体样式、引用视频等基础知识JavaScrip
HTML网页设计制作大作业(div+css) 云南我的家乡旅游景点 带文字滚动
二挡起步
web前端期末大作业 web设计网页规划与设计 html css javascript dreamweaver 前端
Web前端开发技术描述网页设计题材,DIV+CSS布局制作,HTML+CSS网页设计期末课程大作业游景点介绍|旅游风景区|家乡介绍|等网站的设计与制作HTML期末大学生网页设计作业HTML:结构CSS:样式在操作方面上运用了html5和css3,采用了div+css结构、表单、超链接、浮动、绝对定位、相对定位、字体样式、引用视频等基础知识JavaScript:做与用户的交互行为文章目录前端学习路线
python八股文面试题分享及解析(1)
Shawn________
python
#1.'''a=1b=2不用中间变量交换a和b'''#1.a=1b=2a,b=b,aprint(a)print(b)结果:21#2.ll=[]foriinrange(3):ll.append({'num':i})print(11)结果:#[{'num':0},{'num':1},{'num':2}]#3.kk=[]a={'num':0}foriinrange(3):#0,12#可变类型,不仅仅改变
每日算法&面试题,大厂特训二十八天——第二十天(树)
肥学
⚡算法题⚡面试题每日精进 java 算法 数据结构
目录标题导读算法特训二十八天面试题点击直接资料领取导读肥友们为了更好的去帮助新同学适应算法和面试题,最近我们开始进行专项突击一步一步来。上一期我们完成了动态规划二十一天现在我们进行下一项对各类算法进行二十八天的一个小总结。还在等什么快来一起肥学进行二十八天挑战吧!!特别介绍小白练手专栏,适合刚入手的新人欢迎订阅编程小白进阶python有趣练手项目里面包括了像《机器人尬聊》《恶搞程序》这样的有趣文章
webpack图片等资源的处理
dmengmeng
需要的loaderfile-loader(让我们可以引入这些资源文件)url-loader(其实是file-loader的二次封装)img-loader(处理图片所需要的)在没有使用任何处理图片的loader之前,比如说css中用到了背景图片,那么最后打包会报错的,因为他没办法处理图片。其实你只想能够使用图片的话。只加一个file-loader就可以,打开网页能准确看到图片。{test:/\.(p
Java企业面试题3
马龙强_
java
1.break和continue的作用(智*图)break:用于完全退出一个循环(如for,while)或一个switch语句。当在循环体内遇到break语句时,程序会立即跳出当前循环体,继续执行循环之后的代码。continue:用于跳过当前循环体中剩余的部分,并开始下一次循环。如果是在for循环中使用continue,则会直接进行条件判断以决定是否执行下一轮循环。2.if分支语句和switch分
Java面试题精选:消息队列(二)
芒果不是芒
Java面试题精选 java kafka
一、Kafka的特性1.消息持久化:消息存储在磁盘,所以消息不会丢失2.高吞吐量:可以轻松实现单机百万级别的并发3.扩展性:扩展性强,还是动态扩展4.多客户端支持:支持多种语言(Java、C、C++、GO、)5.KafkaStreams(一个天生的流处理):在双十一或者销售大屏就会用到这种流处理。使用KafkaStreams可以快速的把销售额统计出来6.安全机制:Kafka进行生产或者消费的时候会
springboot+vue项目实战一-创建SpringBoot简单项目
苹果酱0567
面试题汇总与解析 spring boot 后端 java 中间件 开发语言
这段时间抽空给女朋友搭建一个个人博客,想着记录一下建站的过程,就当做笔记吧。虽然复制zjblog只要一个小时就可以搞定一个网站,或者用cms系统,三四个小时就可以做出一个前后台都有的网站,而且想做成啥样也都行。但是就是要从新做,自己做的意义不一样,更何况,俺就是专门干这个的,嘿嘿嘿要做一个网站,而且从零开始,首先呢就是技术选型了,经过一番思量决定选择-SpringBoot做后端,前端使用Vue做一
博客网站制作教程
2401_85194651
java maven
首先就是技术框架:后端:Java+SpringBoot数据库:MySQL前端:Vue.js数据库连接:JPA(JavaPersistenceAPI)1.项目结构blog-app/├──backend/│├──src/main/java/com/example/blogapp/││├──BlogApplication.java││├──config/│││└──DatabaseConfig.java
00. 这里整理了最全的爬虫框架(Java + Python)
有一只柴犬
爬虫系列 爬虫 java python
目录1、前言2、什么是网络爬虫3、常见的爬虫框架3.1、java框架3.1.1、WebMagic3.1.2、Jsoup3.1.3、HttpClient3.1.4、Crawler4j3.1.5、HtmlUnit3.1.6、Selenium3.2、Python框架3.2.1、Scrapy3.2.2、BeautifulSoup+Requests3.2.3、Selenium3.2.4、PyQuery3.2
详解:如何设计出健壮的秒杀系统?
夜空_2cd3
作者:Yrion博客园:cnblogs.com/wyq178/p/11261711.html前言:秒杀系统相信很多人见过,比如京东或者淘宝的秒杀,小米手机的秒杀。那么秒杀系统的后台是如何实现的呢?我们如何设计一个秒杀系统呢?对于秒杀系统应该考虑哪些问题?如何设计出健壮的秒杀系统?本期我们就来探讨一下这个问题:image目录一:****秒杀系统应该考虑的问题二:****秒杀系统的设计和技术方案三:*
最简单将静态网页挂载到服务器上(不用nginx)
全能全知者
服务器 nginx 运维 前端 html 笔记
最简单将静态网页挂载到服务器上(不用nginx)如果随便弄个静态网页挂在服务器都要用nignx就太麻烦了,所以直接使用Apache来搭建一些简单前端静态网页会相对方便很多检查Web服务器服务状态:sudosystemctlstatushttpd#ApacheWeb服务器如果发现没有安装web服务器:安装Apache:sudoyuminstallhttpd启动Apache:sudosystemctl
补充元象二面
Redstone Monstrosity
前端 面试
1.请尽可能详细地说明,防抖和节流的区别,应用场景?你的回答中不要写出示例代码。防抖(Debounce)和节流(Throttle)是两种常用的前端性能优化技术,它们的主要区别在于如何处理高频事件的触发。以下是防抖和节流的区别和应用场景的详细说明:防抖和节流的定义防抖:在一段时间内,多次执行变为只执行最后一次。防抖的原理是,当事件被触发后,设置一个延迟定时器。如果在这个延迟时间内事件再次被触发,则重
微信小程序开发注意事项
jun778895
微信小程序 小程序
微信小程序开发是一个融合了前端开发、用户体验设计、后端服务(可选)以及微信小程序平台特性的综合性项目。这里,我将详细介绍一个典型的小程序开发项目的全过程,包括项目规划、设计、开发、测试及部署上线等各个环节,并尽量使内容达到或超过2000字的要求。一、项目规划1.1项目背景与目标假设我们要开发一个名为“智慧校园助手”的微信小程序,旨在为学生提供一站式校园生活服务,包括课程表查询、图书馆座位预约、食堂
Day_11
ROC_bird..
算法
面试题16.15.珠玑妙算-力扣(LeetCode)/***Note:Thereturnedarraymustbemalloced,assumecallercallsfree().*///下标和对应位置的值都一样,answer[0]+1,对应位置的值猜对了,但是下标不对,answer[1]+1int*masterMind(char*solution,char*guess,int*returnSiz
字节二面
Redstone Monstrosity
前端 面试
1.假设你是正在面试前端开发工程师的候选人,面试官让你详细说出你上一段实习过程的收获和感悟。在上一段实习过程中,我获得了宝贵的实践经验和深刻的行业洞察,以下是我的主要收获和感悟:一、专业技能提升框架应用熟练度:通过实际项目,我深入掌握了React、Vue等前端框架的使用,不仅提升了编码效率,还学会了如何根据项目需求选择合适的框架。问题解决能力:在实习期间,我遇到了许多预料之外的技术难题。通过查阅文
斟一小组鸡血视频
和自己一起成长
http://m.v.qq.com/play/play.html?coverid=&vid=c0518henl2a&ptag=2_6.0.0.14297_copy有一种努力叫做靠自己http://m.v.qq.com/play/play.html?coverid=&vid=i0547o426g4&ptag=2_6.0.0.14297_copy世界最励志短片https://v.qq.com/x/pa
前端代码上传文件
余生逆风飞翔
前端 javascript 开发语言
点击上传文件import{ElNotification}from'element-plus'import{API_CONFIG}from'../config/index.js'import{UploadFilled}from'@element-plus/icons-vue'import{reactive}from'vue'import{BASE_URL}from'../config/index'i
Dockerfile命令详解之 FROM
清风怎不知意
容器化 java 前端 javascript
许多同学不知道Dockerfile应该如何写,不清楚Dockerfile中的指令分别有什么意义,能达到什么样的目的,接下来我将在容器化专栏中详细的为大家解释每一个指令的含义以及用法。专栏订阅传送门https://blog.csdn.net/qq_38220908/category_11989778.html指令不区分大小写。但是,按照惯例,它们应该是大写的,以便更容易地将它们与参数区分开来。(引用
《HTML 与 CSS—— 响应式设计》
陈在天box
html css 前端
一、引言在当今数字化时代,人们使用各种不同的设备访问互联网,包括智能手机、平板电脑、笔记本电脑和台式机等。为了确保网站在不同设备上都能提供良好的用户体验,响应式设计成为了网页开发的关键。HTML和CSS作为网页开发的基础技术,在实现响应式设计方面发挥着重要作用。本文将深入探讨HTML与CSS中的响应式设计原理、方法和最佳实践。二、响应式设计的概念与重要性(一)概念响应式设计是一种网页设计方法,旨在
【C语言】- 自定义类型:结构体、枚举、联合
Cavalier_01
C语言
【C语言】:操作符(https://mp.csdn.net/editor/html/115218055)数据类型(https://mp.csdn.net/editor/html/115219664)自定义类型:结构体、枚举、联合(https://mp.csdn.net/editor/html/115373785)变量、常量(https://mp.csdn.net/editor/html/11523
uniapp实现动态标记效果详细步骤【前端开发】
2401_85123349
uni-app
第二个点在于实现将已经被用户标记的内容在下一次获取后刷新它的状态为已标记。这是什么意思呢?比如说上面gif图中的这些人物对象,有一些已被该用户添加为关心,那么当用户下一次进入该页面时,这些已经被添加关心的对象需要以“红心”状态显现出来。这个点的难度还不算大,只需要在每一次获取后端的内容后对标记对象进行状态更新即可。II.动态标记效果实现思路和步骤首先,整体的思路是利用动态类名对不同的元素进行选择。
html+css网页设计 旅游网站首页1个页面
html+css+js网页设计
html css 旅游
html+css网页设计旅游网站首页1个页面网页作品代码简单,可使用任意HTML辑软件(如:Dreamweaver、HBuilder、Vscode、Sublime、Webstorm、Text、Notepad++等任意html编辑软件进行运行及修改编辑等操作)。获取源码1,访问该网站https://download.csdn.net/download/qq_42431718/897527112,点击
【从问题中去学习k8s】k8s中的常见面试题(夯实理论基础)(二十八)
向往风的男子
k8s 学习 kubernetes 容器
本站以分享各种运维经验和运维所需要的技能为主《python零基础入门》:python零基础入门学习《python运维脚本》:python运维脚本实践《shell》:shell学习《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战《k8》从问题中去学习k8s《docker学习》暂未更新《ceph学习》ceph日常问题解决分享《日志收集》ELK+各种中间件《运维日常》
C/C++Win32编程基础详解视频下载
择善Zach
编程 C++ Win32
课题视频:C/C++Win32编程基础详解
视频知识:win32窗口的创建
windows事件机制
主讲:择善Uncle老师
学习交流群:386620625
验证码:625
--
Guava Cache使用笔记
bylijinnan
java guava cache
1.Guava Cache的get/getIfPresent方法当参数为null时会抛空指针异常
我刚开始使用时还以为Guava Cache跟HashMap一样,get(null)返回null。
实际上Guava整体设计思想就是拒绝null的,很多地方都会执行com.google.common.base.Preconditions.checkNotNull的检查。
2.Guava
解决ora-01652无法通过128(在temp表空间中)
0624chenhong
oracle
解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程
一个sql语句后,大约花了10分钟,好不容易有一个结果,但是报了一个ora-01652错误,查阅了oracle的错误代码说明:意思是指temp表空间无法自动扩展temp段。这种问题一般有两种原因:一是临时表空间空间太小,二是不能自动扩展。
分析过程:
既然是temp表空间有问题,那当
Struct在jsp标签
不懂事的小屁孩
struct
非UI标签介绍:
控制类标签:
1:程序流程控制标签 if elseif else
<s:if test="isUsed">
<span class="label label-success">True</span>
</
按对象属性排序
换个号韩国红果果
JavaScript 对象排序
利用JavaScript进行对象排序,根据用户的年龄排序展示
<script>
var bob={
name;bob,
age:30
}
var peter={
name;peter,
age:30
}
var amy={
name;amy,
age:24
}
var mike={
name;mike,
age:29
}
var john={
大数据分析让个性化的客户体验不再遥远
蓝儿唯美
数据分析
顾客通过多种渠道制造大量数据,企业则热衷于利用这些信息来实现更为个性化的体验。
分析公司Gartner表示,高级分析会成为客户服务的关键,但是大数据分析的采用目前仅局限于不到一成的企业。 挑战在于企业还在努力适应结构化数据,疲于根据自身的客户关系管理(CRM)系统部署有效的分析框架,以及集成不同的内外部信息源。
然而,面对顾客通过数字技术参与而产生的快速变化的信息,企业需要及时作出反应。要想实
java笔记4
a-john
java
操作符
1,使用java操作符
操作符接受一个或多个参数,并生成一个新值。参数的形式与普通的方法调用不用,但是效果是相同的。加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)的用法与其他编程语言类似。
操作符作用于操作数,生成一个新值。另外,有些操作符可能会改变操作数自身的
从裸机编程到嵌入式Linux编程思想的转变------分而治之:驱动和应用程序
aijuans
嵌入式学习
笔者学习嵌入式Linux也有一段时间了,很奇怪的是很多书讲驱动编程方面的知识,也有很多书将ARM9方面的知识,但是从以前51形式的(对寄存器直接操作,初始化芯片的功能模块)编程方法,和思维模式,变换为基于Linux操作系统编程,讲这个思想转变的书几乎没有,让初学者走了很多弯路,撞了很多难墙。
笔者因此写上自己的学习心得,希望能给和我一样转变
在springmvc中解决FastJson循环引用的问题
asialee
循环引用 fastjson
我们先来看一个例子:
package com.elong.bms;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import co
ArrayAdapter和SimpleAdapter技术总结
百合不是茶
android SimpleAdapter ArrayAdapter 高级组件基础
ArrayAdapter比较简单,但它只能用于显示文字。而SimpleAdapter则有很强的扩展性,可以自定义出各种效果
ArrayAdapter;的数据可以是数组或者是队列
// 获得下拉框对象
AutoCompleteTextView textview = (AutoCompleteTextView) this
九封信
bijian1013
人生 励志
有时候,莫名的心情不好,不想和任何人说话,只想一个人静静的发呆。有时候,想一个人躲起来脆弱,不愿别人看到自己的伤口。有时候,走过熟悉的街角,看到熟悉的背影,突然想起一个人的脸。有时候,发现自己一夜之间就长大了。 2014,写给人
Linux下安装MySQL Web 管理工具phpMyAdmin
sunjing
PHP Install phpMyAdmin
PHP http://php.net/
phpMyAdmin http://www.phpmyadmin.net
Error compiling PHP on CentOS x64
一、安装Apache
请参阅http://billben.iteye.com/admin/blogs/1985244
二、安装依赖包
sudo yum install gd
分布式系统理论
bit1129
分布式
FLP
One famous theory in distributed computing, known as FLP after the authors Fischer, Lynch, and Patterson, proved that in a distributed system with asynchronous communication and process crashes,
ssh2整合(spring+struts2+hibernate)-附源码
白糖_
eclipse spring Hibernate mysql 项目管理
最近抽空又整理了一套ssh2框架,主要使用的技术如下:
spring做容器,管理了三层(dao,service,actioin)的对象
struts2实现与页面交互(MVC),自己做了一个异常拦截器,能拦截Action层抛出的异常
hibernate与数据库交互
BoneCp数据库连接池,据说比其它数据库连接池快20倍,仅仅是据说
MySql数据库
项目用eclipse
treetable bug记录
braveCS
table
// 插入子节点删除再插入时不能正常显示。修改:
//不知改后有没有错,先做个备忘
Tree.prototype.removeNode = function(node) {
// Recursively remove all descendants of +node+
this.unloadBranch(node);
// Remove
编程之美-电话号码对应英语单词
bylijinnan
java 算法 编程之美
import java.util.Arrays;
public class NumberToWord {
/**
* 编程之美 电话号码对应英语单词
* 题目:
* 手机上的拨号盘,每个数字都对应一些字母,比如2对应ABC,3对应DEF.........,8对应TUV,9对应WXYZ,
* 要求对一段数字,输出其代表的所有可能的字母组合
jquery ajax读书笔记
chengxuyuancsdn
jQuery ajax
1、jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()
JWFD工作流拓扑结构解析伪码描述算法
comsci
数据结构 算法 工作 活动 J#
对工作流拓扑结构解析感兴趣的朋友可以下载附件,或者下载JWFD的全部代码进行分析
/* 流程图拓扑结构解析伪码描述算法
public java.util.ArrayList DFS(String graphid, String stepid, int j)
oracle I/O 从属进程
daizj
oracle
I/O 从属进程
I/O从属进程用于为不支持异步I/O的系统或设备模拟异步I/O.例如,磁带设备(相当慢)就不支持异步I/O.通过使用I/O 从属进程,可以让磁带机模仿通常只为磁盘驱动器提供的功能。就好像支持真正的异步I/O 一样,写设备的进程(调用者)会收集大量数据,并交由写入器写出。数据成功地写出时,写入器(此时写入器是I/O 从属进程,而不是操作系统)会通知原来的调用者,调用者则会
高级排序:希尔排序
dieslrae
希尔排序
public void shellSort(int[] array){
int limit = 1;
int temp;
int index;
while(limit <= array.length/3){
limit = limit * 3 + 1;
初二下学期难记忆单词
dcj3sjt126com
english word
kitchen 厨房
cupboard 厨柜
salt 盐
sugar 糖
oil 油
fork 叉;餐叉
spoon 匙;调羹
chopsticks 筷子
cabbage 卷心菜;洋白菜
soup 汤
Italian 意大利的
Indian 印度的
workplace 工作场所
even 甚至;更
Italy 意大利
laugh 笑
m
Go语言使用MySQL数据库进行增删改查
dcj3sjt126com
mysql
目前Internet上流行的网站构架方式是LAMP,其中的M即MySQL, 作为数据库,MySQL以免费、开源、使用方便为优势成为了很多Web开发的后端数据库存储引擎。MySQL驱动Go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,常用的有如下几种:
http://code.google.c...o-mysql-dri
git命令
shuizhaosi888
git
---------------设置全局用户名:
git config --global user.name "HanShuliang" //设置用户名
git config --global user.email "
[email protected] " //设置邮箱
---------------查看环境配置
git config --li
qemu-kvm 网络 nat模式 (四)
haoningabc
kvm qemu
qemu-ifup-NAT
#!/bin/bash
BRIDGE=virbr0
NETWORK=192.168.122.0
GATEWAY=192.168.122.1
NETMASK=255.255.255.0
DHCPRANGE=192.168.122.2,192.168.122.254
TFTPROOT=
BOOTP=
function check_bridge()
不要让未来的你,讨厌现在的自己
jingjing0907
生活 奋斗 工作 梦想
故事one
23岁,他大学毕业,放弃了父母安排的稳定工作,独闯京城,在家小公司混个小职位,工作还算顺手,月薪三千,混了混,混走了一年的光阴。 24岁,有了女朋友,从二环12人的集体宿舍搬到香山民居,一间平房,二人世界,爱爱爱。偶然约三朋四友,打扑克搓麻将,日子快乐似神仙; 25岁,出了几次差,调了两次岗,薪水涨了不过百,生猛狂飙的物价让现实血淋淋,无力为心爱银儿购件大牌
枚举类型详解
一路欢笑一路走
enum 枚举详解 enumset enumMap
枚举类型详解
一.Enum详解
1.1枚举类型的介绍
JDK1.5加入了一个全新的类型的”类”—枚举类型,为此JDK1.5引入了一个新的关键字enum,我们可以这样定义一个枚举类型。
Demo:一个最简单的枚举类
public enum ColorType {
RED
第11章 动画效果(上)
onestopweb
动画
index.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/
Eclipse中jsp、js文件编辑时,卡死现象解决汇总
ljf_home
eclipse jsp卡死 js卡死
使用Eclipse编辑jsp、js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲。将所有用过的方法罗列如下:
1、取消验证
windows–>perferences–>validation
把 除了manual 下面的全部点掉,build下只留 classpath dependency Valida
MySQL编程中的6个重要的实用技巧
tomcat_oracle
mysql
每一行命令都是用分号(;)作为结束
对于MySQL,第一件你必须牢记的是它的每一行命令都是用分号(;)作为结束的,但当一行MySQL被插入在PHP代码中时,最好把后面的分号省略掉,例如:
mysql_query("INSERT INTO tablename(first_name,last_name)VALUES('$first_name',$last_name')");
zoj 3820 Building Fire Stations(二分+bfs)
阿尔萨斯
Build
题目链接:zoj 3820 Building Fire Stations
题目大意:给定一棵树,选取两个建立加油站,问说所有点距离加油站距离的最大值的最小值是多少,并且任意输出一种建立加油站的方式。
解题思路:二分距离判断,判断函数的复杂度是o(n),这样的复杂度应该是o(nlogn),即使常数系数偏大,但是居然跑了4.5s,也是醉了。 判断函数里面做了3次bfs,但是每次bfs节点最多