(CSS2) compact
分配对象为块对象或基于内容之上的内联对象(CSS3) run-in
分配对象为块对象或基于内容之上的内联对象(CSS3) ruby
将对象作为表格脚注组显示(CSS3) ruby-base
将对象作为表格脚注组显示(CSS3) ruby-text
将对象作为表格脚注组显示(CSS3) ruby-base-group
将对象作为表格脚注组显示(CSS3) ruby-text-group
将对象作为表格脚注组显示(CSS3) box将对象作为弹性盒模型显示(CSS3)-webkit-box;-moz-box;-o-box;-ms-box;inline-box将对象作为内联块级弹性盒模型显示(CSS3)
clip:rect(0 auto 35px 10px) 上边不剪切,右边不剪切,下边从第35个像素开始剪切直至最底部,左边剪10
overflow:visible 不剪切内容 hidden
将超出对象尺寸的内容进行裁剪,将不出现滚动条。 scroll
将超出对象尺寸的内容进行裁剪,并以滚动条的方式显示超出的内容。 auto
在需要时剪切内容并添加滚动条,此为body对象和textarea的默认值。
第三节:弹性盒模型(box-orient子元素排列方式、box-pack子元素对齐方式、box-align子元素对齐方式、box-flex子元素如何分配剩余盒子的剩余空间、box-flex-group子元素的所属组、box-ordinal-group子元素的显示顺序、box-direction子元素顺序是否相反、box-lines子元素是否可以换行显示)要使其生效需给父级元素display为box或者是inline-box;注意浏览器
box-orient 定义盒子内部元素的方向排列方式 horizontal
(水平线上从左到右) vertical
(垂直线上从上到下) inline-axis
(水平编排)、block-axis
(垂直编排)、inherit
(继承父级元素)
box-pack:start 设置弹性盒模型对象的子元素从开始位置对齐(大部分情况等同于左对齐) center
设置弹性盒模型对象的子元素居中对齐 end
设置弹性盒模型对象的子元素从结束位置对齐(大部分情况等同于右对齐) justify
设置或弹性盒模型对象的子元素两端对齐
box-align:start 设置弹性盒模型对象的子元素从开始位置对齐 center
设置弹性盒模型对象的子元素居中对齐 end
设置弹性盒模型对象的子元素从结束位置对齐 baseline
设置弹性盒模型对象的子元素基线对齐 stretch
设置弹性盒模型对象的子元素自适应父元素尺寸
box-flex:0让子元素按照父元素的宽度划分 将一个容器分成6份,子对象a分1份,b分2份,c分3份(动态的分配剩余空间)
box-flex-group:1 动态的给数字较大的组分配其内容所需的实际空间(如无内容、paddin、border则不占空间),剩余空间则均分给数字最小的那个组(可能有1个或多个元素)
box-ordinal-group:1 调整三个栏目的先后顺序,数字越大越靠后, 数值较低的元素显示在数值较高元素的前面,相同数值的元素,它们的显示顺序取决于它们的代码顺序
box-direction:normal 确定内部元素的排列顺序 normal、reverse(翻转)、inherit 设置弹性盒模型对象的子元素按正常顺序排列 reverse
反转弹性盒模型对象的子元素的排列顺序
box-lines:single 弹性盒模型对象的子元素只在一行内显示 multiple
弹性盒模型对象的子元素超出父元素的空间时换行显示
第四节:尺寸(width、min-width、max-width、height、min-height、max-height) 第五节:外补白(margin、margin-top、margin-right、margin-bottom、margin-left) 第六节:内补白(padding、padding-top、padding-right、padding-bottom、padding-left) 第七节:边框(border、border-width、border-style、border-color、border-top、border-top-width、border-top-style、border-top-color、border-right、border-right-width、border-right-style、border-right-color、border-bottom、border-bottom-width、border-bottom-style、border-bottom-color、border-left、border-left-width、border-left-style、border-left-color、
border-image、border-radius、border-top-left-radius、border-top-right-radius、border-bottom-left-radius、border-bottom-right-radius、box-shadow阴影、box-reflect倒影 )
border-image:border-image-sourceborder-image-slice / border-image-width / border-image-outset / border-image-repeat
none:无背景图片。
使用绝对或相对地址指定图像。
用浮点数指定宽度。不允许负值。
用百分比指定宽度。不允许负值。
用长度值指定宽度。不允许负值。 stretch:指定用拉伸方式来填充边框背景图。 repeat:指定用平铺方式来填充边框背景图。当图片碰到边界时,如果超过则被截断。 round:指定用平铺方式来填充边框背景图。图片会根据边框的尺寸动态调整图片的大小直至正好可以铺满整个边框。
border-image:url(skin/border.png) 27/27px;
box-shadow none:无阴影 ①
第1个长度值用来设置对象的阴影水平偏移值。可以为负值 ②
第2个长度值用来设置对象的阴影垂直偏移值。可以为负值 ③
如果提供了第3个长度值则用来设置对象的阴影模糊值。不允许负值 ④
如果提供了第4个长度值则用来设置对象的阴影外延值。不允许负值
设置对象的阴影的颜色。 inset:设置对象的阴影类型为内阴影。该值为空时,则对象的阴影类型为外阴影 box-shadow:5px 5px 5px 10px rgba(0,0,0,.6);
box-reflect:none | | | ` = above | below | left | right
= |
= none | | | | |
默认值:none无倒影 `box-reflect:below 0 linear-gradient(transparent,transparent 50%,rgba(255,255,255,.3));
第八节:背景(background、background-color、
background-image、background-repeat、background-attachment背景图片是滚动还是固定、background-position、background-origin、background-clip、background-size、multiple-background混合属性 )
background-image:-moz-linear-gradient(top , #45B5DA, #0382AD);渐变背景`background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, from(#45B5DA), to(#0382AD));渐变背景
background-image:-o-linear-gradient(top , #45B5DA, #0382AD);渐变背景
background-image:url(skin/p_103x196_1.jpg),url(skin/p_103x196_2.jpg),url(skin/p_103x196_3.jpg);多重背景
background:linear-gradient(top,#000,#999)。从上到下、从黑色到灰色水平方向渐变
background:linear-gradient(left,#000,#999)。起始于左边、从黑色到灰色垂直方向渐变
background:linear-gradient(left,30deg,#000,#999)。起始于左边,倾斜30度、从黑色到灰色水平渐变
`background-image: linear-gradient(0deg, rgba(255, 255, 255, .2) 50%, transparent 50%, transparent);
第九节:颜色(color、opacity) 第十节:字体(font、font-style、font-weight、font-size、font-family、font-stretch) 第十一节:文本(text-indent、text-overflow、text-align、text-transform、text-decration、text-decoration-line、text-decoration-color、text-decoration-style、text-shadow、text-fill-color、text-stroke、text-stroke-width、text-stroke-color、letter-spacing、word-spacing、vertical-align、word-wrap、white-space、direction、unicode-bidi、line-height、tab-size)
text-overflow clip:当对象内文本溢出时不显示省略标记(…),而是将溢出的部分裁切掉。 ellipsis:当对象内文本溢出时显示省略标记(…)。
text-transform none:无转换 capitalize:将每个单词的第一个字母转换成大写 uppercase:转换成大写 lowercase:转换成小写 full-width: full-size-kana:
white-space normal:默认处理方式。 pre:用等宽字体显示预先格式化的文本,不合并文字间的空白距离,当文字超出边界时不换行。可查阅pre对象 nowrap:强制在同一行内显示所有文本,直到文本结束或者遭遇br对象。 pre-wrap:用等宽字体显示预先格式化的文本,不合并文字间的空白距离,当文字碰到边界时发生换行。 pre-line:保持文本的换行,不保留文字间的空白距离,当文字碰到边界时发生换行。
direction ltr:文本流从左到右。 rtl:文本流从右到左
unicode-bidi normal:对象不打开附加的嵌入层,对于内联要素,隐式重排序跨对象边界进行工作。 embed:对象打开附加的嵌入层,direction属性的值指定嵌入层,在对象内部进行隐式重排序。
bidi-override 严格按照direction属性的值重排序。忽略隐式双向运算规则。 用于同一个页面里存在从不同方向读进的文本显示。与direction属性一起使用 假如您想应用direction属性于内联元素的文本,您必须设定unicode-bidi属性为embed或bidi-override。
第十二节:列表(list-style、list-style-image、list-style-position、list-style-type)
list-style-type disc:实心圆(CSS1) circle:空心圆(CSS1) square:实心方块(CSS1) decimal:阿拉伯数字(CSS1) lower-roman:小写罗马数字(CSS1) upper-roman:大写罗马数字(CSS1) lower-alpha:小写英文字母(CSS1) upper-alpha:大写英文字母(CSS1) none:不使用项目符号(CSS1) armenian:传统的亚美尼亚数字(CSS2) cjk-ideographic:浅白的表意数字(CSS2) georgian:传统的乔治数字(CSS2) lower-greek:基本的希腊小写字母(CSS2) hebrew:传统的希伯莱数字(CSS2) hiragana:日文平假名字符(CSS2) hiragana-iroha:日文平假名序号(CSS2) katakana:日文片假名字符(CSS2) katakana-iroha:日文片假名序号(CSS2) lower-latin:小写拉丁字母(CSS2) upper-latin:大写拉丁字母(CSS2)
第十三节:表格(table-layout、border-collapse、border-spacing、caption-side、empty-cells) 第十四节:内容(content、counter-increment、counter-reset、quotes)
content normal:默认值。表现与none值相同 none:不生成任何值。
插入标签属性值 .attr p:after{content:attr(title);}
使用指定的绝对或相对地址插入一个外部资源(图像,声频,视频或浏览器支持的其他任何资源) .url p:before{content:url(…/…/skin/ico.png);}
插入字符串 counter(name):使用已命名的计数器 .counter1 li:before{content:counter(testname);} counter(name,list-style-type):使用已命名的计数器并遵从指定的list-style-type属性 .counter2 li:before{content:counter(testname2,lower-roman);} counters(name,string):使用所有已命名的计数器 .counter3 li{counter-increment:testname3;} .counter3 li:before{content:counter(testname3,decimal)".";} counters(name,string,list-style-type):使用所有已命名的计数器并遵从指定的list-style-type属性 no-close-quote:并不插入quotes属性的后标记。但增加其嵌套级别 .counter3 li li:before{content:counter(testname3,decimal)".“counter(testname4,decimal)”.";} no-open-quote:并不插入quotes属性的前标记。但减少其嵌套级别 close-quote:插入quotes属性的后标记 open-quote:插入quotes属性的前标记 counter-increment:none |[ ]
第十五节:用户user interface(outline、outline-width、outline-style、outline-color、outline-offset、nav-index、nav-up、nav-right、nav-down、nav-left、cursor、zoom、box-sizing、resize、ime-mode)
outline
定义元素周围轮廓线,类似于border outline-width :指定轮廓边框的宽度。 outline-style :指定轮廓边框的样式。 outline-color :指定轮廓边框的颜色。 outline:2px solid #f00;border:3px solid #333;
outline-width
用长度值来定义轮廓的厚度。不允许负值 medium:定义默认宽度的轮廓。 thin:定义比默认宽度细的轮廓。 thick:定义比默认宽度粗的轮廓。
outline-style none:无轮廓。与任何指定的outline-width值无关 dotted:点状轮廓。 dashed:虚线轮廓。 solid:实线轮廓 double:双线轮廓。两条单线与其间隔的和等于指定的outline-width值 groove:3D凹槽轮廓。 ridge:3D凸槽轮廓。 inset:3D凹边轮廓。 outset:3D凸边轮廓。 outline-offset:4px;
cursor
[ [ ] [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll]
resize none:不允许用户调整元素大小。 both:用户可以调节元素的宽度和高度。 horizontal:用户可以调节元素的宽度 vertical:用户可以调节元素的高度。 none:不允许用户调整元素大小。 both:用户可以调节元素的宽度和高度。 horizontal:用户可以调节元素的宽度 vertical:用户可以调节元素的高度。
第十六节:多栏multi-column(columns、column-width、column-count、column-gap、column-rule、column-rule-style、column-rule-color、column-span、column-fill、column-break-before、column-break-after、column-break-inside)
columns:200px 3;
第十七节:2D变换(transform、transform-origin)
translate
移动。translate(X(距离left位置),Y(距离top位置))。以坐标轴原点为中心进行位移,正值向右下角移动。 1旋转。transfrom:rotate(10deg)。平面旋转多少度 2斜拉。skew(X,Y)。倾斜多少度 3缩放。scale(X,Y)。放大或缩小多少倍 4移动。translate(X,Y)
transfrom:rotate(30deg)。 transfrom:scale(X,Y)。 transfrom:skew(X,Y)。 transfrom:translate(X,Y)。 1234
所有2D转换方法连在一起就是matrix()
。矩形方式进行变换matrix();
改变起点位置:transfrom-origin:bottom left
eg:transfrom:scale(1.5)。 对应的matrix是 transfrom:matrix(1.5,0,0,1.5,0,0); matrix(scaleX,0,0,scaleY,0,0) 1234
深究矩阵 matrix
ax+cy+e 为水平坐标。bx+dy+f 为垂直坐标。
transfrom:matrix(1 , 0 , 0 ,1 , 30 ,30)//a=1,b=0,c=0,d=1,e=30,f=30。 假设中心坐标为(0 ,0) x坐标为 ax+cy+e = 1_0 + 0_0 +30 = 30。 y坐标为 bx+dy+f = 0_0 + 1_0 + 30 = 30。 中心坐标变为了(30 ,30) 向右下角偏移,transfrom:translate(30px, 30px) 所以matrix只用关心最后两个参数就可以了 缩放:transfrom:matrix(1 , 0 , 0 ,1 , 30 ,30)当中的1是缩放的参数,所以写为transfrom:matrix(scalex ,0, 0 ,scaley ,30 ,30)
第十八节:过渡
transition-property:过渡效果的css属性名称。none、all、indent transition-duration:过渡的时长。 transition-timing-function:过渡速度曲线。平缓还是先慢后快。 transition-delay:过渡延迟。
第十九节:动画(animation-timing-function)
animation-name:`动画名称。animation-delay:
动画延迟。animation-duration:
动画运动周期时长。animation-timing-function:
动画速度曲线。linear(速度一致)、ease(低速开始,然后加快,结束慢)、ease-in(低速开始)、ease-out(低速结束)、ease-in-out(低速开始和结束)、cubic-bezier(自己的值,从0到1)animation-iteration-count:
动画播放次数。0、infinite。animation-direction:
动画是否在下一个周期逆向播放。normal、alternate。animation-play-state:
动画是否正在运行或暂停。 `animation-fill-mode
简写:animation:name duration timing-function delay
@keyframes animationName{ from{ ...... } to{ ...... } } @keyframes animationName{ 0%{ ...... } 50%{ ...... } 100%{ ...... } }
你可能感兴趣的:(前端,css3)
SpringBoot项目:前后端打包与部署(使用 Maven)
总是学不会.
maven java 前端 后端 服务器
文章目录IDEA后端打包与部署(使用Maven)1.确保Maven已安装,并引入pom插件2.清理并安装项目3.定位生成的JAR包和配置文件4.创建部署文件夹5.上传到服务器前端打包与部署(使用npm)1.确保Node.js和npm已安装2.安装依赖3.构建生产环境代码4.准备部署文件夹5.上传到服务器自动化的想法可能出现的异常参考IDEA后端打包与部署(使用Maven)1.确保Maven已安装,
前端21:Vue.js开发实践指南
mater lai
本文还有配套的精品资源,点击获取简介:Vue.js是前端开发领域流行的JavaScript框架,"前端21"项目展示了基于Vue.js的Web应用程序开发。本文详细介绍了Vue.js的核心概念、项目设置、npm脚本、自定义配置、文件结构、开发过程和VueCLI工具,以帮助开发者高效构建Web应用。1.Vue.js框架基础1.1Vue.js简介Vue.js是一套构建用户界面的渐进式JavaScrip
Vue 路由基础:Vue 2 和 Vue 3 的比较与使用
念九_ysl
Vue vue.js 前端 javascript
Vue.js是一款非常流行的前端框架,而VueRouter是Vue.js的官方路由管理库。在前端开发中,路由是处理页面跳转和视图管理的关键部分。Vue2和Vue3都使用VueRouter来管理路由,但是随着Vue3的发布,VueRouter也有了不少变化。在本文中,我们将详细介绍Vue2和Vue3中的路由使用,比较它们之间的不同,并提供一些示例代码。一、安装VueRouter在Vue项目中使用Vu
【Vue3实战】嵌套路由让前端项目结构更清晰
风清扬雨
前端Vue3 前端 vue.js javascript
Hey小伙伴们,今天要跟大家分享的是Vue3中的一个超实用技巧——嵌套路由(NestedRouting)。无论你是Vue的新手还是老手,都一定不能错过这篇指南,因为学会它,你的项目结构将会变得更加清晰有序!✨什么是嵌套路由?嵌套路由是指在VueRouter中定义一个父路由,然后在这个父路由下定义多个子路由。这样做的好处是可以让你的项目结构更加模块化,而且在导航栏、面包屑等地方展示层级关系时也更加
前端开发核心知识点深度解析:从CSS到Vue的全面指南
A_cot
css vue.js 前端 开发语言 javascript
一、CSS篇1.link与@import的区别加载方式:是HTML标签,并行加载;@import是CSS语法,串行加载兼容性:@import不支持IE5以下DOM控制:link可通过JS操作DOM修改,@import不可动态修改权重计算:@import引入的样式优先级低于link@importurl('style.css');二、JavaScript篇2.原型链机制原型对象:每个函数都有proto
教育培训APP开发全攻略:从网校系统源码搭建到功能优化的技术方案
万岳科技程序员小金
APP开发教学 教育平台开发 教育小程序 软件开发 APP开发 在线教育系统源码 教育APP开发 教育平台搭建
本篇文章,笔者将从网校系统源码搭建到功能优化的角度,全面解析教育培训APP的开发技术方案,帮助企业和开发者更好地理解如何提升在线教育平台的性能与用户体验。一、教育培训APP开发的核心架构教育培训APP的架构设计是其能否顺利运行和扩展的基础。在设计过程中,需要考虑到用户数量、数据存储、信息安全、系统响应速度等多个因素。因此,架构的选择至关重要。1、前端架构:用户体验为核心教育培训APP的前端设计直接
跨域问题中获取不到响应头header中的token
HPF_99
springboot ajax 前端 jwt spring boot ajax跨域问题
在前后端分离项目整合springboot于jwt的过程中遇到后端在请响应头header中添加token前端进行验证的时候只能获取部分header中的数据而获取不到token解决方法就是在jwt生成token存入header中的时候添加header数据Access-Control-Expose-headers:值为想让前端获取的数据,如token之后在后端就可获取到header中的数据测试:前端获取
前端系列之:设计模式
程序员SKY
前端 前端
什么是设计模式?设计模式,其实就是一种可以在多处地方重复使用的代码设计方案,只是不同的设计模式所能应用的场景有所不同。通过这种设计模式可以帮助我们提高代码的可读性、可维护性与可扩展性。前端的设计模式又分为三个大类型,分别是创建型、结构型和行为型,针对这三个大类型,又会有很多种不同的设计模式。创建型主要用于对象的创建过程,比如对象的创建、初始化等,它隐藏了对象创建的具体细节,从而解耦客户端和对象的创
前端项目中脚本文件打包,vscode中如何正确使用gtar命令
今天吃了嘛o
前端 vscode ide
1、下载gtarhttps://gnuwin32.sourceforge.net/packages/libarchive.htm2、傻瓜式安装一路下一步即可。3、配置环境变量高级系统设置”在弹出的“系统属性”窗口中,点击“环境变量”。在“系统变量”列表中找到“Path”变量,点击“编辑”。点击“新建”,将gtar可执行文件所在的目录路径(例如C:\ProgramFiles(x86)\GnuWin3
【前端】小程序实现预览pdf并导出
@Dai
前端 javascript 学习 前端 小程序 pdf
小程序实现预览pdf并导出一、前言二、需要的wxapi三、完整代码一、前言小程序没办法直接导出pdf或一些文档,只能借助api先将文件下载下来并打开,再让用户手动去保存。之前做“小程序当前页面截图转pdf导出”功能的时候,小程序好像也无法实现。所以要打开文件,都让后端去做吧,要么给前端一个文件地址,要么返回二进制文件流,这样小程序就能打开文件了。二、需要的wxapidownloadFile(下载文
阿里云ESC windws服务器部署springboot+vue前后端分离项目
溫冬''123
项目部署 spring boot 阿里云 服务器
window服务器部署springboot+vue项目前期准备:1、完整的项目源码我这里的项目前端是vue,后端是springboot+redis+mysql2、服务器我使用的是阿里云的ESC服务器(偷偷告诉你们,新手都可以白嫖一个月的服务器)服务器系统是windows至于我为什么不用linux,害别说了,新手还是先用window先吧。3、服务器环境搭建我们部署项目需要搭建项目的环境,其实仔细想想
前端2025
家里有只小肥猫
前端
2025前端面试总结:趋势、技巧与准备建议随着前端技术的飞速发展,2025年的前端面试不仅考察技术深度,更注重实践能力和对新技术的掌握。作为一名前端开发者,如何在激烈的竞争中脱颖而出,是每一位求职者都需要思考的问题。本文将结合2025年的前端技术趋势,分享面试总结、常见问题及准备建议,帮助大家更好地应对未来的面试挑战。一、2025年前端技术趋势总结WebComponents的广泛应用WebComp
2025前端技能
家里有只小肥猫
前端
前端开发是现代Web开发中非常重要的一部分,涉及众多技术和工具。以下是一些在前端开发工作中常见的需求和技术:1.技术基础HTML/CSS:构建页面结构和样式。JavaScript:实现交互逻辑和动态功能。ES6+:使用现代JavaScript语法和特性。DOM操作:操作网页元素和事件处理。浏览器兼容性:确保代码在不同浏览器中正常运行。跨设备适配:确保页面在不同设备(PC、手机、平板)上正常显示。2
零基础程序员如何快速学会python
Java进阶营菌
程序员 职场 Python python 开发语言 后端 pycharm 程序人生
学会Python能做的事情也很多,常见的就有网络爬虫,数据分析,前端开发,机器学习,都能很好地提高工作效率,往任何一个领域发展,工作前景是非常不错的。接下来我从基本的软件安装开始,仔细的给大家分析新手入门应该怎样学习Python吧,如果有讲得不到位的地方也欢迎大家指正,我会及时进行修改。一、软件的安装和选择1、配置环境关系到实操,所以在选择资料的同时,你还需要安装好Python需要的软件,软件版本
spring mvc面试笔记
表面矿工
面试题 spring mvc 面试
简述SpringMVC工作原理?SpringMVC工作原理:1:用户发送请求至前端控制器DispatcherServlet。2:DispatcherServlet收到请求调用HandlerMapping处理器映射器。3:处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。4:Dispatcher
前端架构 —— 脚手架的开发流程
mask-li
前端
一、脚手架开发流程详解开发流程创建npm项目创建脚手架入口文件,最上方添加:#!/usr/bin/envnode配置package.json,添加bin属性编写脚手架代码将脚手架发布到npm使用流程安装脚手架npminstall-gyour-own-cli使用脚手架your-own-cli二、脚手架开发难点解析分包:将复杂的系统拆分成若干个模块命令注册:vuecreatevueaddvueinvo
前端架构设计
weixin_34266504
前端 测试 javascript ViewUI
最近在拜读一本《前端架构设计》的书,该书讲到前端架构师的用户是开发人员。所选择的工具、编写的代码、创建的流程,都是为了让开发人员能够构建出最高效的、不出错的、可扩展的和可持续优化的系统。一、HTML1)标签规范化div乱炖是指嵌套多层div元素。为了保持简洁,语义化的标签是首选,应用样式所依靠的是HTML5元素名称和它们的层级关系,在标记中没有类名,往往写出层级的后代选择器。2)模块化方法前端开发
前端控制器模式
wjs2024
开发语言
前端控制器模式引言在软件设计模式中,前端控制器模式(FrontControllerPattern)是一种行为型设计模式。它提供了一种集中处理请求的机制,将请求分发到相应的处理者,从而简化了请求的处理流程。本文将详细介绍前端控制器模式的概念、原理、实现方法以及在实际开发中的应用。概念前端控制器模式的核心思想是将所有请求统一由一个控制器处理,控制器根据请求类型将请求分发到相应的处理者。这种模式适用于以
javaScript-系统知识点【 常见问题及其解决办法】
大麦大麦
2025 前端面经 javascript 开发语言 ecmascript 前端 面试
会造成内存泄漏的情况(中级)setTimeout的第⼀个参数使⽤字符串⽽非函数的话,会引发内存泄漏。//setTimeout的错误使用setTimeout('666',100)//setTimeout的正确用法setTimeout(()=>{console.log('666')},1000)前端常见内存泄漏及解决方案如何捕获JS程序的异常?两种方式trycatchwindow.onerror//手
2025前端最新面试题-网络篇
大麦大麦
前端 网络 面试 网络安全 网络协议
1.现代浏览器为何要禁用第三方cookie为了用户的安全(安全和隐私是浏览器永恒的话题)第三方cookie会记录用户的行为和数据,方便做广告有些浏览器默认禁止,Chrome增加了SameSite(谷歌有广告)cookie可以实现不同域共享吗同一主域名下的子域名,cookie可以共享2.实现心跳检验-用于断线重连functionHeartbeaet(){lettimer=0functionfn(){
JavaScript 系列八:同步与异步
XHSRookies
JavaScript javascript
快来加入我们吧!"小和山的菜鸟们",为前端开发者提供技术相关资讯以及系列基础文章。为更好的用户体验,请您移至我们官网小和山的菜鸟们(https://xhs-rookies.com/)进行学习,及时获取最新文章。"Codetailor",如果您对我们文章感兴趣、或是想提一些建议,微信关注“小和山的菜鸟们”公众号,与我们取的联系,您也可以在微信上观看我们的文章。每一个建议或是赞同都是对我们极大的鼓励!
解析Spring:架构与组件
党和人民
技术理论 spring
DispatcherServletDispatcherServlet是SpringMVC的前端控制器,它负责接收所有的HTTP请求,并将请求分发到相应的处理器。它是整个SpringMVC框架的核心组件。初始化:DispatcherServlet在启动时会初始化一系列的组件,如HandlerMapping、HandlerAdapter、ViewResolver等。请求处理:接收到请求后,Dispat
LeetCode - #219 存在重复元素 II
网罗开发
Swift vue.js leetcode 算法
网罗开发(小红书、快手、视频号同名) 大家好,我是展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、HarmonyOS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。图书作者:《ESP32-C3物联网工程开发实战》图书作者:《SwiftUI入门,进阶与实战》超级个体:CO
AI 驱动的智慧大脑:打造企业动态知识库,开启高效管理新时代
网罗开发
人工智能 AI 大模型 深度学习 人工智能
网罗开发(小红书、快手、视频号同名) 大家好,我是展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、HarmonyOS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。图书作者:《ESP32-C3物联网工程开发实战》图书作者:《SwiftUI入门,进阶与实战》超级个体:CO
前后端分离项目的验证码实现(前端Vue,后端TP)
今天练肩感觉爆炸
vue thinkphp
1.TP安装依赖composerrequiretopthink/think-captcha=2.0.*2.生成验证码返回给前端//生成验证码publicfunctiongetCaptcha(){$config=[//验证码字符集合'codeSet'=>'0123456789',//验证码字体大小'fontSize'=>30,//字体'fontttf'=>'5.ttf',//验证码位数'length
2024年全新WebGIS开发学习方法
GIS好难学
学习方法 GIS
现在每天都有越来越多的企业依靠与地理信息位置相关的数据来改善运营和增加利润,包括:客户位置、货物位置等,这些数据信息现在已经成为许多业务逻辑中不可或缺的一部分。但是,很少有人同时会GIS和编程,程序员分为很多种,但是GIS开发通常是指前端+GIS开发,大部分做前端的程序员,不会GIS框架,这也是GIS开发人才或缺的重要原因之一。如果想往GIS开发方向发展,但在学习的时候感到困惑,可以看下本篇文章,
zswap 数据结构维护解析
仙度瑞拉快点跑
数据结构
zswap数据结构维护解析zswap是Linux内核中的一个前端压缩交换(swap)机制,它在内存中维护一个zpool来存储被压缩的页面,以减少磁盘I/O并提高性能。以下是zswap维护加解压相关数据结构的核心解析。1.zswap的核心数据结构1.1structzswap_entryzswap_entry结构体表示zswap维护的每个压缩页面的元数据。structzswap_entry{struc
字节跳动 后端开发 一面 面经
我喝AD钙
面经 java 后端 面试
2023-08-07字节跳动后端开发一面1自我介绍:学历背景-实习/项目-校园经历-获奖2介绍一下java全栈实习:业务-解决方案-工作-成果-反思3xx功能怎么做的:业务-表设计-前端原型-功能-前后端接口-后端实现4订单管理货物管理怎么做的:xxx5数据存储用的啥:mysql给主键常用字段加索引6货物限量怎么处理:java加锁(锁的比较与选择)/数据库事务(考虑了吗,为什么没用)7单体应用,某
前端面试100问!!
一只松
javascript es6
面试造火箭,工作拧螺丝!在技术圈毕竟只有百分之一的人能进入BAT,百分之九九的小伙伴只能在普通公司做这普通的事情,厌烦哪些标题党,我们抛开那些高大上的台词,回归到面试的本质。本课程帮助小伙伴们快速梳理知识,不会涉及到具体的很细节的知识点,关注面试本身。公司一般会从以下5个方面考察一个人的能力,本课程的100问是总结了最近2-3年常问的面试题,适合初中级前端工程师。1、HTML(5)和CSS3方面1
前端面试题---2022
每日一小知识
前端 html npm vscode node.js
*集大成之面试题,我们不做面试题的创作者,只做面试题的搬运工(侵必删)〇理论一个完整的URL解析过程1用户输入URL地址。2对URL地址进行DNS域名解获得IP地址。3建立TCP连接(三次握手)。4浏览器向web服务器发送一个HTTP请求报文。5服务器返回HTTP响应报文给客户端。6关闭TCP连接(四次挥手)。7浏览器解析文档资源并渲染页面。解析过程:浏览器解析的资源(html,svg,Xhtml
windows下源码安装golang
616050468
golang安装 golang环境 windows
系统: 64位win7, 开发环境:sublime text 2, go版本: 1.4.1
1. 安装前准备(gcc, gdb, git)
golang在64位系
redis批量删除带空格的key
bylijinnan
redis
redis批量删除的通常做法:
redis-cli keys "blacklist*" | xargs redis-cli del
上面的命令在key的前后没有空格时是可以的,但有空格就不行了:
$redis-cli keys "blacklist*"
1) "blacklist:12:
[email protected]
oracle正则表达式的用法
0624chenhong
oracle 正则表达式
方括号表达示
方括号表达式
描述
[[:alnum:]]
字母和数字混合的字符
[[:alpha:]]
字母字符
[[:cntrl:]]
控制字符
[[:digit:]]
数字字符
[[:graph:]]
图像字符
[[:lower:]]
小写字母字符
[[:print:]]
打印字符
[[:punct:]]
标点符号字符
[[:space:]]
2048源码(核心算法有,缺少几个anctionbar,以后补上)
不懂事的小屁孩
2048
2048游戏基本上有四部分组成,
1:主activity,包含游戏块的16个方格,上面统计分数的模块
2:底下的gridview,监听上下左右的滑动,进行事件处理,
3:每一个卡片,里面的内容很简单,只有一个text,记录显示的数字
4:Actionbar,是游戏用重新开始,设置等功能(这个在底下可以下载的代码里面还没有实现)
写代码的流程
1:设计游戏的布局,基本是两块,上面是分
jquery内部链式调用机理
换个号韩国红果果
JavaScript jquery
只需要在调用该对象合适(比如下列的setStyles)的方法后让该方法返回该对象(通过this 因为一旦一个函数称为一个对象方法的话那么在这个方法内部this(结合下面的setStyles)指向这个对象)
function create(type){
var element=document.createElement(type);
//this=element;
你订酒店时的每一次点击 背后都是NoSQL和云计算
蓝儿唯美
NoSQL
全球最大的在线旅游公司Expedia旗下的酒店预订公司,它运营着89个网站,跨越68个国家,三年前开始实验公有云,以求让客户在预订网站上查询假期酒店时得到更快的信息获取体验。
云端本身是用于驱动网站的部分小功能的,如搜索框的自动推荐功能,还能保证处理Hotels.com服务的季节性需求高峰整体储能。
Hotels.com的首席技术官Thierry Bedos上个月在伦敦参加“2015 Clou
java笔记1
a-john
java
1,面向对象程序设计(Object-oriented Propramming,OOP):java就是一种面向对象程序设计。
2,对象:我们将问题空间中的元素及其在解空间中的表示称为“对象”。简单来说,对象是某个类型的实例。比如狗是一个类型,哈士奇可以是狗的一个实例,也就是对象。
3,面向对象程序设计方式的特性:
3.1 万物皆为对象。
C语言 sizeof和strlen之间的那些事 C/C++软件开发求职面试题 必备考点(一)
aijuans
C/C++求职面试必备考点
找工作在即,以后决定每天至少写一个知识点,主要是记录,逼迫自己动手、总结加深印象。当然如果能有一言半语让他人收益,后学幸运之至也。如有错误,还希望大家帮忙指出来。感激不尽。
后学保证每个写出来的结果都是自己在电脑上亲自跑过的,咱人笨,以前学的也半吊子。很多时候只能靠运行出来的结果再反过来
程序员写代码时就不要管需求了吗?
asia007
程序员不能一味跟需求走
编程也有2年了,刚开始不懂的什么都跟需求走,需求是怎样就用代码实现就行,也不管这个需求是否合理,是否为较好的用户体验。当然刚开始编程都会这样,但是如果有了2年以上的工作经验的程序员只知道一味写代码,而不在写的过程中思考一下这个需求是否合理,那么,我想这个程序员就只能一辈写敲敲代码了。
我的技术不是很好,但是就不代
Activity的四种启动模式
百合不是茶
android 栈模式启动 Activity的标准模式启动 栈顶模式启动 单例模式启动
android界面的操作就是很多个activity之间的切换,启动模式决定启动的activity的生命周期 ;
启动模式xml中配置
<activity android:name=".MainActivity" android:launchMode="standard&quo
Spring中@Autowired标签与@Resource标签的区别
bijian1013
java spring @Resource @Autowired @Qualifier
Spring不但支持自己定义的@Autowired注解,还支持由JSR-250规范定义的几个注解,如:@Resource、 @PostConstruct及@PreDestroy。
1. @Autowired @Autowired是Spring 提供的,需导入 Package:org.springframewo
Changes Between SOAP 1.1 and SOAP 1.2
sunjing
Changes Enable SOAP 1.1 SOAP 1.2
JAX-WS
SOAP Version 1.2 Part 0: Primer (Second Edition)
SOAP Version 1.2 Part 1: Messaging Framework (Second Edition)
SOAP Version 1.2 Part 2: Adjuncts (Second Edition)
Which style of WSDL
【Hadoop二】Hadoop常用命令
bit1129
hadoop
以Hadoop运行Hadoop自带的wordcount为例,
hadoop脚本位于/home/hadoop/hadoop-2.5.2/bin/hadoop,需要说明的是,这些命令的使用必须在Hadoop已经运行的情况下才能执行
Hadoop HDFS相关命令
hadoop fs -ls
列出HDFS文件系统的第一级文件和第一级
java异常处理(初级)
白糖_
java DAO spring 虚拟机 Ajax
从学习到现在从事java开发一年多了,个人觉得对java只了解皮毛,很多东西都是用到再去慢慢学习,编程真的是一项艺术,要完成一段好的代码,需要懂得很多。
最近项目经理让我负责一个组件开发,框架都由自己搭建,最让我头疼的是异常处理,我看了一些网上的源码,发现他们对异常的处理不是很重视,研究了很久都没有找到很好的解决方案。后来有幸看到一个200W美元的项目部分源码,通过他们对异常处理的解决方案,我终
记录整理-工作问题
braveCS
工作
1)那位同学还是CSV文件默认Excel打开看不到全部结果。以为是没写进去。同学甲说文件应该不分大小。后来log一下原来是有写进去。只是Excel有行数限制。那位同学进步好快啊。
2)今天同学说写文件的时候提示jvm的内存溢出。我马上反应说那就改一下jvm的内存大小。同学说改用分批处理了。果然想问题还是有局限性。改jvm内存大小只能暂时地解决问题,以后要是写更大的文件还是得改内存。想问题要长远啊
org.apache.tools.zip实现文件的压缩和解压,支持中文
bylijinnan
apache
刚开始用java.util.Zip,发现不支持中文(网上有修改的方法,但比较麻烦)
后改用org.apache.tools.zip
org.apache.tools.zip的使用网上有更简单的例子
下面的程序根据实际需求,实现了压缩指定目录下指定文件的方法
import java.io.BufferedReader;
import java.io.BufferedWrit
读书笔记-4
chengxuyuancsdn
读书笔记
1、JSTL 核心标签库标签
2、避免SQL注入
3、字符串逆转方法
4、字符串比较compareTo
5、字符串替换replace
6、分拆字符串
1、JSTL 核心标签库标签共有13个,
学习资料:http://www.cnblogs.com/lihuiyy/archive/2012/02/24/2366806.html
功能上分为4类:
(1)表达式控制标签:out
[物理与电子]半导体教材的一个小问题
comsci
问题
各种模拟电子和数字电子教材中都有这个词汇-空穴
书中对这个词汇的解释是; 当电子脱离共价键的束缚成为自由电子之后,共价键中就留下一个空位,这个空位叫做空穴
我现在回过头翻大学时候的教材,觉得这个
Flashback Database --闪回数据库
daizj
oracle 闪回数据库
Flashback 技术是以Undo segment中的内容为基础的, 因此受限于UNDO_RETENTON参数。要使用flashback 的特性,必须启用自动撤销管理表空间。
在Oracle 10g中, Flash back家族分为以下成员: Flashback Database, Flashback Drop,Flashback Query(分Flashback Query,Flashbac
简单排序:插入排序
dieslrae
插入排序
public void insertSort(int[] array){
int temp;
for(int i=1;i<array.length;i++){
temp = array[i];
for(int k=i-1;k>=0;k--)
C语言学习六指针小示例、一维数组名含义,定义一个函数输出数组的内容
dcj3sjt126com
c
# include <stdio.h>
int main(void)
{
int * p; //等价于 int *p 也等价于 int* p;
int i = 5;
char ch = 'A';
//p = 5; //error
//p = &ch; //error
//p = ch; //error
p = &i; //
centos下php redis扩展的安装配置3种方法
dcj3sjt126com
redis
方法一
1.下载php redis扩展包 代码如下 复制代码
#wget http://redis.googlecode.com/files/redis-2.4.4.tar.gz
2 tar -zxvf 解压压缩包,cd /扩展包 (进入扩展包然后 运行phpize 一下是我环境中phpize的目录,/usr/local/php/bin/phpize (一定要
线程池(Executors)
shuizhaosi888
线程池
在java类库中,任务执行的主要抽象不是Thread,而是Executor,将任务的提交过程和执行过程解耦
public interface Executor {
void execute(Runnable command);
}
public class RunMain implements Executor{
@Override
pub
openstack 快速安装笔记
haoningabc
openstack
前提是要配置好yum源
版本icehouse,操作系统redhat6.5
最简化安装,不要cinder和swift
三个节点
172 control节点keystone glance horizon
173 compute节点nova
173 network节点neutron
control
/etc/sysctl.conf
net.ipv4.ip_forward =
从c面向对象的实现理解c++的对象(二)
jimmee
C++ 面向对象 虚函数
1. 类就可以看作一个struct,类的方法,可以理解为通过函数指针的方式实现的,类对象分配内存时,只分配成员变量的,函数指针并不需要分配额外的内存保存地址。
2. c++中类的构造函数,就是进行内存分配(malloc),调用构造函数
3. c++中类的析构函数,就时回收内存(free)
4. c++是基于栈和全局数据分配内存的,如果是一个方法内创建的对象,就直接在栈上分配内存了。
专门在
如何让那个一个div可以拖动
lingfeng520240
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
第10章 高级事件(中)
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/
计算两个经纬度之间的距离
roadrunners
计算 纬度 LBS 经度 距离
要解决这个问题的时候,到网上查了很多方案,最后计算出来的都与百度计算出来的有出入。下面这个公式计算出来的距离和百度计算出来的距离是一致的。
/**
*
* @param longitudeA
* 经度A点
* @param latitudeA
* 纬度A点
* @param longitudeB
*
最具争议的10个Java话题
tomcat_oracle
java
1、Java8已经到来。什么!? Java8 支持lambda。哇哦,RIP Scala! 随着Java8 的发布,出现很多关于新发布的Java8是否有潜力干掉Scala的争论,最终的结论是远远没有那么简单。Java8可能已经在Scala的lambda的包围中突围,但Java并非是函数式编程王位的真正觊觎者。
2、Java 9 即将到来
Oracle早在8月份就发布
zoj 3826 Hierarchical Notation(模拟)
阿尔萨斯
rar
题目链接:zoj 3826 Hierarchical Notation
题目大意:给定一些结构体,结构体有value值和key值,Q次询问,输出每个key值对应的value值。
解题思路:思路很简单,写个类词法的递归函数,每次将key值映射成一个hash值,用map映射每个key的value起始终止位置,预处理完了查询就很简单了。 这题是最后10分钟出的,因为没有考虑value为{}的情