(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;
columns:200px;
column-count:3;column-gap:40px;
第十七节: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
matrix()和matrix3d(),前者是2D的平面移动变换,33。后者是3D变换,4 4。 transfrom:matrix(a , b , c , d , e , f) 所对应的矩阵如下图 第一个与第一个相乘,第二个与第二个相乘,第三个与第三相乘 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 = 10 + 0 0 +30 = 30。 y坐标为 bx+dy+f = 00 + 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% {
...... }
}
你可能感兴趣的:(前端,css,css3)
CSS 超出部分显示省略号
36氪(36Kr)广播
程序员 css 前端
text-overflow:ellipsis;}你问我为何时常沉默,有的人无话可说,有的话无人可说.你问我为何时常沉默,有的人无话可说,有的话无人可说.效果图:关键点:white-space:nowrap;overflow:hidden;text-overflow:ellipsis;多行超出显示省略号=================================================
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已安装,
微信小程序 实现圆形进度条
.卡
问题记录 小程序
将进度条百分比分成两种情况(顺时针方向,起点在顶部):百分比50%将整个圆,也对应分成左右两个部分:左半边和右半边。假设表示进度的颜色为黄色,圆环底部颜色为灰色。第一种情况:百分比percent50%,转换为度数(360*percent)为deg:圆环底部灰色。设置左半边圆环的颜色为黄色,然后顺时针旋转180度。设置右半边圆环的颜色为黄色,然后顺时针旋转(deg-180)度。代码见css圆环
前端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
突破网络壁垒:实现 Mac SSH 访问 Windows WSL Ubuntu 的最佳实践20250301
Narutolxy
技术干货分享 网络 macos ssh
突破网络壁垒:实现MacSSH访问WindowsWSLUbuntu的最佳实践背景与痛点在现代开发环境中,开发者通常会面临不同操作系统之间的协同工作。例如:主要开发环境位于Windows的WSLUbuntu子系统需要从局域网内的Mac设备进行远程访问和管理由于WSL默认采用NAT网络隔离(172.x.x.x网段),导致:无法直接从局域网设备(如192.168.x.x)访问WSL环境每次WSL重启时可
【前端】小程序实现预览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)模块化方法前端开发
XSL是指可扩展样式表语言 (EXtensible Stylesheet Language)
万事俱备,就差一个程序员了
XSLXSL是指可扩展样式表语言(EXtensibleStylesheetLanguage),是一种用于以可读格式呈现XML数据的语言。目录简介语法XSL是否与XML相同用途应用简介XSL之于XML,就像CSS之于HTML。它是指可扩展样式表语言(EXtensibleStylesheetLanguage)。这是一种用于以可读格式呈现XML数据的语言。xsl是一种标记语言,表示如何将xml文档的内容
前端控制器模式
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开发方向发展,但在学习的时候感到困惑,可以看下本篇文章,
Linux的Initrd机制
被触发
linux
Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像文件转变成了 cpio 格式,变化不仅反映在文件格式上, linux 内核对这两种格式的 initrd 的处理有着截然的不同。本文首先介绍了什么是 initrd 技术,然后分别介绍了 Linux2.4 内核和 2.6 内核的 initrd 的处理流程。最后通过对 Lin
maven本地仓库路径修改
bitcarter
maven
默认maven本地仓库路径:C:\Users\Administrator\.m2
修改maven本地仓库路径方法:
1.打开E:\maven\apache-maven-2.2.1\conf\settings.xml
2.找到
 
XSD和XML中的命名空间
darrenzhu
xml xsd schema namespace 命名空间
http://www.360doc.com/content/12/0418/10/9437165_204585479.shtml
http://blog.csdn.net/wanghuan203/article/details/9203621
http://blog.csdn.net/wanghuan203/article/details/9204337
http://www.cn
Java 求素数运算
周凡杨
java 算法 素数
网络上对求素数之解数不胜数,我在此总结归纳一下,同时对一些编码,加以改进,效率有成倍热提高。
第一种:
原理: 6N(+-)1法 任何一个自然数,总可以表示成为如下的形式之一: 6N,6N+1,6N+2,6N+3,6N+4,6N+5 (N=0,1,2,…)
java 单例模式
g21121
java
想必单例模式大家都不会陌生,有如下两种方式来实现单例模式:
class Singleton {
private static Singleton instance=new Singleton();
private Singleton(){}
static Singleton getInstance() {
return instance;
}
Linux下Mysql源码安装
510888780
mysql
1.假设已经有mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
(1)创建mysql的安装目录及数据库存放目录
解压缩下载的源码包,目录结构,特殊指定的目录除外:
32位和64位操作系统
墙头上一根草
32位和64位操作系统
32位和64位操作系统是指:CPU一次处理数据的能力是32位还是64位。现在市场上的CPU一般都是64位的,但是这些CPU并不是真正意义上的64 位CPU,里面依然保留了大部分32位的技术,只是进行了部分64位的改进。32位和64位的区别还涉及了内存的寻址方面,32位系统的最大寻址空间是2 的32次方= 4294967296(bit)= 4(GB)左右,而64位系统的最大寻址空间的寻址空间则达到了
我的spring学习笔记10-轻量级_Spring框架
aijuans
Spring 3
一、问题提问:
→ 请简单介绍一下什么是轻量级?
轻量级(Leightweight)是相对于一些重量级的容器来说的,比如Spring的核心是一个轻量级的容器,Spring的核心包在文件容量上只有不到1M大小,使用Spring核心包所需要的资源也是很少的,您甚至可以在小型设备中使用Spring。
 
mongodb 环境搭建及简单CURD
antlove
Web Install curd NoSQL mongo
一 搭建mongodb环境
1. 在mongo官网下载mongodb
2. 在本地创建目录 "D:\Program Files\mongodb-win32-i386-2.6.4\data\db"
3. 运行mongodb服务 [mongod.exe --dbpath "D:\Program Files\mongodb-win32-i386-2.6.4\data\
数据字典和动态视图
百合不是茶
oracle 数据字典 动态视图 系统和对象权限
数据字典(data dictionary)是 Oracle 数据库的一个重要组成部分,这是一组用于记录数据库信息的只读(read-only)表。随着数据库的启动而启动,数据库关闭时数据字典也关闭 数据字典中包含
数据库中所有方案对象(schema object)的定义(包括表,视图,索引,簇,同义词,序列,过程,函数,包,触发器等等)
数据库为一
多线程编程一般规则
bijian1013
java thread 多线程 java多线程
如果两个工两个以上的线程都修改一个对象,那么把执行修改的方法定义为被同步的,如果对象更新影响到只读方法,那么只读方法也要定义成同步的。
不要滥用同步。如果在一个对象内的不同的方法访问的不是同一个数据,就不要将方法设置为synchronized的。
将文件或目录拷贝到另一个Linux系统的命令scp
bijian1013
linux unix scp
一.功能说明 scp就是security copy,用于将文件或者目录从一个Linux系统拷贝到另一个Linux系统下。scp传输数据用的是SSH协议,保证了数据传输的安全,其格式如下: scp 远程用户名@IP地址:文件的绝对路径
【持久化框架MyBatis3五】MyBatis3一对多关联查询
bit1129
Mybatis3
以教员和课程为例介绍一对多关联关系,在这里认为一个教员可以叫多门课程,而一门课程只有1个教员教,这种关系在实际中不太常见,通过教员和课程是多对多的关系。
示例数据:
地址表:
CREATE TABLE ADDRESSES
(
ADDR_ID INT(11) NOT NULL AUTO_INCREMENT,
STREET VAR
cookie状态判断引发的查找问题
bitcarter
form cgi
先说一下我们的业务背景:
1.前台将图片和文本通过form表单提交到后台,图片我们都做了base64的编码,并且前台图片进行了压缩
2.form中action是一个cgi服务
3.后台cgi服务同时供PC,H5,APP
4.后台cgi中调用公共的cookie状态判断方法(公共的,大家都用,几年了没有问题)
问题:(折腾两天。。。。)
1.PC端cgi服务正常调用,cookie判断没
通过Nginx,Tomcat访问日志(access log)记录请求耗时
ronin47
一、Nginx通过$upstream_response_time $request_time统计请求和后台服务响应时间
nginx.conf使用配置方式:
log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_r
java-67- n个骰子的点数。 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
bylijinnan
java
public class ProbabilityOfDice {
/**
* Q67 n个骰子的点数
* 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
* 在以下求解过程中,我们把骰子看作是有序的。
* 例如当n=2时,我们认为(1,2)和(2,1)是两种不同的情况
*/
private stati
看别人的博客,觉得心情很好
Cb123456
博客 心情
以为写博客,就是总结,就和日记一样吧,同时也在督促自己。今天看了好长时间博客:
职业规划:
http://www.iteye.com/blogs/subjects/zhiyeguihua
android学习:
1.http://byandby.i
[JWFD开源工作流]尝试用原生代码引擎实现循环反馈拓扑分析
comsci
工作流
我们已经不满足于仅仅跳跃一次,通过对引擎的升级,今天我测试了一下循环反馈模式,大概跑了200圈,引擎报一个溢出错误
在一个流程图的结束节点中嵌入一段方程,每次引擎运行到这个节点的时候,通过实时编译器GM模块,计算这个方程,计算结果与预设值进行比较,符合条件则跳跃到开始节点,继续新一轮拓扑分析,直到遇到
JS常用的事件及方法
cwqcwqmax9
js
事件 描述
onactivate 当对象设置为活动元素时触发。
onafterupdate 当成功更新数据源对象中的关联对象后在数据绑定对象上触发。
onbeforeactivate 对象要被设置为当前元素前立即触发。
onbeforecut 当选中区从文档中删除之前在源对象触发。
onbeforedeactivate 在 activeElement 从当前对象变为父文档其它对象之前立即
正则表达式验证日期格式
dashuaifu
正则表达式 IT其它 java其它
正则表达式验证日期格式
function isDate(d){
var v = d.match(/^(\d{4})-(\d{1,2})-(\d{1,2})$/i);
if(!v) {
this.focus();
return false;
}
}
<input value="2000-8-8" onblu
Yii CModel.rules() 方法 、validate预定义完整列表、以及说说验证
dcj3sjt126com
yii
public array rules () {return} array 要调用 validate() 时应用的有效性规则。 返回属性的有效性规则。声明验证规则,应重写此方法。 每个规则是数组具有以下结构:array('attribute list', 'validator name', 'on'=>'scenario name', ...validation
UITextAttributeTextColor = deprecated in iOS 7.0
dcj3sjt126com
ios
In this lesson we used the key "UITextAttributeTextColor" to change the color of the UINavigationBar appearance to white. This prompts a warning "first deprecated in iOS 7.0."
Ins
判断一个数是质数的几种方法
EmmaZhao
Math python
质数也叫素数,是只能被1和它本身整除的正整数,最小的质数是2,目前发现的最大的质数是p=2^57885161-1【注1】。
判断一个数是质数的最简单的方法如下:
def isPrime1(n):
for i in range(2, n):
if n % i == 0:
return False
return True
但是在上面的方法中有一些冗余的计算,所以
SpringSecurity工作原理小解读
坏我一锅粥
SpringSecurity
SecurityContextPersistenceFilter
ConcurrentSessionFilter
WebAsyncManagerIntegrationFilter
HeaderWriterFilter
CsrfFilter
LogoutFilter
Use
JS实现自适应宽度的Tag切换
ini
JavaScript html Web css html5
效果体验:http://hovertree.com/texiao/js/3.htm
该效果使用纯JavaScript代码,实现TAB页切换效果,TAB标签根据内容自适应宽度,点击TAB标签切换内容页。
HTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
Hbase Rest API : 数据查询
kane_xie
REST hbase
hbase(hadoop)是用java编写的,有些语言(例如python)能够对它提供良好的支持,但也有很多语言使用起来并不是那么方便,比如c#只能通过thrift访问。Rest就能很好的解决这个问题。Hbase的org.apache.hadoop.hbase.rest包提供了rest接口,它内嵌了jetty作为servlet容器。
启动命令:./bin/hbase rest s
JQuery实现鼠标拖动元素移动位置(源码+注释)
明子健
jquery js 源码 拖动 鼠标
欢迎讨论指正!
print.html代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<title>发票打印</title>
&l
Postgresql 连表更新字段语法 update
qifeifei
PostgreSQL
下面这段sql本来目的是想更新条件下的数据,可是这段sql却更新了整个表的数据。sql如下:
UPDATE tops_visa.visa_order
SET op_audit_abort_pass_date = now()
FROM
tops_visa.visa_order as t1
INNER JOIN tops_visa.visa_visitor as t2
ON t1.
将redis,memcache结合使用的方案?
tcrct
redis cache
公司架构上使用了阿里云的服务,由于阿里的kvstore收费相当高,打算自建,自建后就需要自己维护,所以就有了一个想法,针对kvstore(redis)及ocs(memcache)的特点,想自己开发一个cache层,将需要用到list,set,map等redis方法的继续使用redis来完成,将整条记录放在memcache下,即findbyid,save等时就memcache,其它就对应使用redi
开发中遇到的诡异的bug
wudixiaotie
bug
今天我们服务器组遇到个问题:
我们的服务是从Kafka里面取出数据,然后把offset存储到ssdb中,每个topic和partition都对应ssdb中不同的key,服务启动之后,每次kafka数据更新我们这边收到消息,然后存储之后就发现ssdb的值偶尔是-2,这就奇怪了,最开始我们是在代码中打印存储的日志,发现没什么问题,后来去查看ssdb的日志,才发现里面每次set的时候都会对同一个key