目录
一 引入CSS样式表方式
二 选择器
三 标签显示模式(display)
四 CSS背景设置
五 CSS三大特性
六 盒子模型(Box Model)
补充:sublime快捷操作emmet语法
补充: 有时候设置了文本居中后,界面效果依然没有显示居中,是什么原因呢?
一 引入CSS样式表方式
是指在标签中,通过style属性来设置元素的样式,使用方法如下所示:
<标签名 style="属性1:属性值1;属性2:属性值2;属性3:属性值3;">内容标签名>
注意:属性与属性值之间是:,多组属性值之间用;隔开
指的是将CSS代码集中写在HTML文档的某个位置,如head头部标签中,并且用style表标注这段代码是css样式,如
该引入方式是指将所有的样式放在一个或多个以.CSS为扩展名的外部样式表文件中,通过link标签将该外部样式表文件链接到HTML文档中。该CSS样式文件可同时被多个页面所引用。
语法如下:
注意:
link是个单标签 ,并且link标签需要放在head头部标签中,并且要指定link标签的三个属性
属性
作用
rel
定义当前文档与被链接文档之间的关系,需要指定是一个"stylesheet",表明被链接的文档是一个样式表文件
type
定义所链接文档的类型,如"text/CSS",一般可以省略
href
定义所链接外部样式表文件的URL,可以是相对路径,也可以是绝对路径
样式表
优点
缺点
使用情况
使用范围
行内式
书写方便,权重高
没有实现样式和结构相分离
较少
只能控制写了style的对应标签
内部样式表
部分结构和样式相分离
没有彻底分离,仍然在一个html中
较多
控制当前页面
外部样式表
将样式与结构完全分离
需要用link引入
最多,推荐使用
控制整个站点(多)
二 选择器
前面提了一下选择器,选择器是很重要的知识点哦~ ,选择器说白了就是用于选择要设置的对象,并将该对象的某些属性进行设置,语法如下:
选择器 {
属性1: 属性值1;
属性2: 属性值2;
属性3: 属性值3;
....
}
从语法上可以看出:
选择器用于指定CSS样式作用的HTML标签,花括号内是对该对象设置的具体样式。
属性和属性值以"键值对"形式存在
属性是对指定的对象设置的样式属性,例如字体大小、文本颜色等
属性和属性值之间用:连接,多个"键值对"之间用;进行区别
选择器的分类
选择器分为基础选择器和复合(组合)选择器;
基础选择器又分为标签选择器、类选择器、id选择器、通配符选择器
标签选择器(元素选择器)是指用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式,语法如下:
标签名 {
属性1:属性值1;
属性2:属性值2;
属性3: 属性值3;
...
}
标签选择器可以将某一类标签全部选择出来,比如所有的div标签和所有的span标签,即能快速的为页面中同类型的标签统一样式,但是也因为这样,该方式不能设计差异化样式 。
类选择器使用"."进行标识 ,后面紧跟类名。当然,要在需要使用该类的标签上注明class= "类名", 语法如下:
.类名 {
属性1:属性值1;
属性2: 属性值2;
....
}
示例:
.font {
color: red;
font-size: 18px;
}
并在标签中引用该类;
这是一个段落,字体颜色为红色,字号为18px
当然,标签中可以引用多个类名,类名之间用空格隔开 ,如:
.font {
font-size: 18px;
color: red;
}
.container {
padding-left: 15px;
padding-right: 15px;
margin: auto;
}
这是一段文字,同时引入了两个类font和container
id 选择器使用#进行标识,后面紧跟id名 ,语法如下:
#id名 {
属性1: 属性值1;
属性2: 属性值2;
...
}
同类选择器一样,也要在标签中引用该id选择器,用法跟类选择器一样
<标签名 id="id名">内容标签名>
他与类选择器同样可以用来差异化选中标签,但是与类选择器不同的是,id选择器只能使用一次,就像身份证号码一样,是唯一的,一般用于页面唯一性的元素身上。即同一个页面,不能允许有相同名字的id对象出现,但是可以允许有相同名字的class出现。
通配符选择器用*表示,*指的是选择所有的标签,能匹配到页面中所有的元素, 其语法如下:
* {
属性1: 属性值1;
属性2: 属性值2;
属性3: 属性值3;
...
}
有一个特别注意的地方,在浏览器中,一般默认会将margin(外边距)和padding(内边距)设置为8px,这样写出的页面,外边区域总是有一些不能被利用,因此基本上在每个页面的css格式上都要加上如下语句,用于消除元素默认的内外边距:
* {
padding: 0px;
margin: 0px;
}
选择器
作用
缺点
使用情况
用法举例
标签选择器
选出相同的标签对象
不能差异化选择
较多
p {color: red;}
类选择器
可以选出一个或多个标签
可根据需求选择
非常多,推荐使用
.nav {color: red;}
id选择器
一次只能选择一个标签
一个页面中只能使用一次同id的id选择器
较少
#nav { color: red; }
通配符选择器
选择所有的标签
一般用在 * {margin: 0 px; padding: 0 px;}
复合(组合)选择器
复合选择器是为了可以选择更准确更精细的目标元素标签,由两个或多个基础选择器通过不同的方式组合而成的,又分为后代选择器、子元素选择器、交集选择器、并集选择器四类
又称包含选择器,用于选择对象或对象的子孙后代,语法如下:
父级 子级 孙级 重孙级 ... {
属性1: 属性值1;
属性2: 属性值2;
属性3: 属性值3;
...
}
即将外层标签写在前面,内层标签写在后面,中间用空格分隔,如:
.class h3 { /*h3是class的子级*/
color: red;
font-size: 16px;
}
子元素选择器只能选择作为某元素的子元素(亲儿子)的元素,语法如下:
父级>子级 {
属性1: 属性值1;
属性2: 属性值2;
...
}
即将父级标签与子级标签用>连接,如:
.class>h3 {
color: red;
font-size: 14px;
}
交集选择器由两个选择器构成,被交集选择器选择的标签既要满足标签一的特点,也要满足标签二的特点。语法如下:
选择器1.选择器2 {
属性1: 属性值1;
属性2: 属性值2;
....
}
两个选择器之间用.连接
并集选择器是各个选择器通过,连接而成,通常用于集体声明。语法如下:
选择器1,选择器2,选择器3 {
属性1:属性值1;
属性2: 属性值2;
...
}
任何形式的选择器(如标签选择器、类选择器、id选择器),都可以作为以上几个选择器的一部分
伪类选择器用冒号表示:,用于像某些选择器添加特殊的效果,如给链接添加特殊效果,伪类选择器包含链接伪类以及结构伪类等。主要学习链接伪类选择器
a:link /*未访问的链接*/
a:visited /*已访问的链接*/
a:hover /*鼠标移动到链接上*/
a:active /*选定的链接*/
一般是先声明选择器,再声明对应的链接伪类选择器,如:
a { /* a 是标签选择器 */
font-weight: 700;
font-size: 16px;
color: gray;
}
a:hover {
color: red /* 指在鼠标经过的时候,由灰色变成红色*/
}
选择器
作用
特征
使用频率
用法
后代选择器
用来选择元素后代
是选择所有的子孙后代
较多
用空格隔开
子代选择器
选择最近一级元素
只选亲儿子
较少
用>连接
交集选择器
选择两个标签交集的部分
既是又是
较少
用.(点)连接
并集选择器
选择某些相同样式的选择器
可用于集体声明
较多
用,(逗号)连接
链接伪类选择器
给链接更改状态
较多
用:(冒号)连接
三 标签显示模式(display)
标签显示模式是指标签以什么方式进行显示 ,如div标签自己独占一行,而span标签一行可以放多个;它分为块标签和行内标签及行内块元素两种类型,也称块元素和行内元素、行内块元素。
常见的块级元素有~、、
、、等,特点如下:
一个标签独占一行;高度(hight)、宽度(width)、外边距(magin)与内边距(padding)都可以被控制;
宽度默认是容器(父级宽度)的100%(即若不指定子级的宽度,默认继承父级宽度);
是一个容器及盒子,里面可以放行内或者块级元素。
特别要注意的是:
只有文字才能组成段落,因此p里面不能放块级元素,特别是p不能放div,同理h1~h6也是文字类块级标签,里面也不能放其它块级元素。
常见的行内元素有、、、、、、、、、等,特点如下:
相邻行内元素在一行上,即一行可以显示多个行内元素;
对高和宽的设置是无效的;
默认宽度是它本身内容的宽度;
行内元素只能容纳文本或者其它行内元素;但链接里面一般不再放链接;
行内元素的纵向padding和margin都是不考虑的,这是css规范定义的。 inline元素确实可以设置垂直方向的 padding 和 margin 值,但是 inline 元素的 margin 和 padding 的垂直方向上不产生边距效果,即不影响布局。
一些特殊的标签,如 、 、
,可以对它们设置宽高和对齐属性,其特点如下:
和相邻行内元素(行内块)在一行上,但是之间会有空白空隙,一行可以显示多个
默认宽高是其本身内容的宽度;
可以控制高度、宽度、内外边距;
元素模式
元素排列
设置样式
默认宽度
包含
块级元素
一行只能放一个块级元素
可设置宽度高度
容器的百分百
容器级可以包含任何标签
行内元素
一行可放多个行内元素
不可以直接设置宽度高度
它本身内容的宽度
容纳文本或其它行内元素
行内块元素
一行可放多个行内块元素
可设置宽度和高度
它本身内容的宽度
display: inline; /* 转行内 */
display: block; /* 转块内 */
display: inline-block; /* 转行内块 */
四 CSS背景设置
通过设置css背景属性,给页面元素添加背景样式,同时还能设置不同的背景图片、背景图片位置、背景颜色等。
background-color: 颜色值 /*默认背景颜色值是透明色,即transparent*/
background-image: url(url) /*括号中的url要填入真实的图片位置,默认值为none*/
background-repeat: repeat /*no-repeat不平铺 repeat-x 在x轴上平铺 repeat-y 在y轴上平铺 默认为repeat横纵轴皆平铺*/
背景附着即规定背景是滚动的还是固定的,scroll即是滚动,fixed即是固定的
background-attachment: scroll /*或是fixed*/
即调节背景的透明度,最后一个参数alpha取值范围为0-1
background: rgba(0,0,0,0.3) /*前三个是背景rgb*/
background-position: length /*参数值可以选择length或者position*/
若参数为length,则数值应为百分数,或者由浮点数字和单位标识符组成的长度值,若只指定了一个数值,则该数值用于x坐标,另一个默认居中;若指定了两个值,则两个值前后顺序无关
若参数为position,则数值应为方位名词(top center bottom left center right),若指定了一个方位名称,则默认该数值用于x坐标,另一个值默认居中,为50%
注意:使用该属性时,一定要确保指定了background-image属性。
五 CSS三大特性
CSS具有三个特性,分别为层叠性、继承性、优先性
层叠性是指多种css样式的叠加,即前面一个属性已经被某个选择器设置,后面又有一个地方被同一个选择器设置同一个属性,则这个时候就会将前一个定义的属性覆盖掉。
子标签会继承父标签的某些样式,如文本颜色和字体大小(text-,font-,line-)等。
定义CSS样式时,经常出现两个或更多规则应用在同一个元素上,如:
选择器相同,则按照层叠性原则执行;若选择器不同,则按照优先级原则执行。此时涉及到权重计算。
选择器
权重计算(specificity)
继承、*
0,0,0,0
标签选择器
0,0,0,1
类选择器,伪类选择器
0,0,1,0
ID选择器
0,1,0,0
行内样式,即style=" "
1,0,0,0
属性值后面加上!imporant
最大
specificity设置为四位,从左到右,一级大于一级,并且数值之间无进位,级别之间不可跨越。
当计算组合选择器的时候,就会涉及到对应基础选择器的权重叠加问题,每位分别相加即可。如:
后代选择器div ul li 权重为0,0,0,3
后代选择器.nav ul li 权重为0,0,1,2
一定要注意的点:
继承的权重为0!!!所以在修改样式的时候,一定要先看该标签有没有被选中,若选中了才能用权利计算,否则,就算加上!important也不是按该选择器对应的属性设置!
六 盒子模型(Box Model)
重中之重!!!
网页布局其实就是利用css设置好盒子的大小,然后摆放盒子的位置,在盒子里面放入文字、图片等元素。盒子很重要!
如上图所示,盒子模型包含四个结构,中间蓝色区域为盒子里的内容(content)、在外层绿色部分为内边距(padding),它表示内容与边框的距离,黄色与绿色之间的虚线为边框(border),最外面的黄色部分表示外边距(margin),它表示该盒子与相邻盒子之间的距离。
可分别对边框粗细(border-width)、边框样式(border-style)与边框颜色(border-color)分别进行设置;
边框样式(border-style):有none、solid(实线)、dashed(虚线)、dotted(点线)
亦可对4个边框(上下左右)分别进行设置:
上边框
下边框
左边框
右边框
border-top-style: 样式
border-top-width: 粗细
border-top-color: 颜色
border-top: 宽度 样式 颜色
border-bottom-style: 样式
border-bottom-width: 粗细
border-bottom-color: 颜色
border-bottom: 宽度 样式 颜色
border-left-style: 样式
border-left-width: 粗细
border-left-color: 颜色
border-left: 宽度 样式 颜色
border-right-style: 样式
border-right-width: 粗细
border-right-color: 颜色
border-right: 宽度 样式 颜色
补充:边框与边框之间可能会发生重叠,导致边框变粗,此时可通过设置collapse(合并)将相邻边框合并在一起。
border-collapse:collapse
可分别对盒子的四个位置(左、右、上、下)分别指定对应的padding值。
属性
作用
padding-left
左内边距
padding-right
右内边距
padding-top
上内边距
padding-bottom
下内边距
注意:当设置了padding值之后,可以发现盒子会变大(但若这个盒子事先并未设置宽度和高度,则不会变大),所以在设置padding之前,要将内容的大小事先预留对(盒子大小-padding)
当然,也可以合在一起写,当设置为一个值时,则表示上下左右的padding皆是这个值;若设置为两个值时,则分别表示上下padding值、左右padding值;若设置为三个值,则分别表示上内边距,左右内边距、下内边距;若设置了四个值,则从上padding开始顺时针设置(即上、右、下、左padding值)。
外边距表示盒子与另一个盒子之间的距离,用法与padding相同。
同理,外边距也会像边框一样发生合并现象,又可分为相邻块元素垂直外边距的合并与嵌套块元素垂直外边距的合并(合并只发生在垂直方向)
相邻块元素垂直外边距的合并
该现象发生在上下相邻块元素之间,即上面元素设置了下外边距(margin-bottom),下面元素设置里上外边距(margin-top),则就会出现取该二者之间最大值进行合并的现象(外边距塌陷);
遇到这种情况,应该要避免同时给两个盒子设置margin值。
嵌套块元素垂直外边距的合并
对于两个嵌套关系的块元素,若父元素没有上内边距与边框,则父元素的上外边距会与子元素的上外边距发生合并,合并后的外边距为二者中的最大者。如下图所示:
解决方法:给父元素设置上内边距或上边框,或为父元素添加overflow:hidden。
如何将块级盒子设置水平居中,必须满足两个条件:
1、盒子必须指定了宽度(width)
2、将左右的外边距都设置为auto,方式可为如下:
margin-left: auto ; margin-right: auto; /*左右分别设置*/
margin: auto; /*一起设置*/
margin: 0 auto; /*两种不同方式进行左右分别设置*/
补充:sublime快捷操作emmet语法
生成标签 直接输入标签名 按tab键即可
若想写多个相同标签,使用标签名*标签个数即可,如p*3即可生成3个p标签
若有父子级关系的标签,可使用>,如ul>li ,若ul下有多个li,则ul>li*个数即可
若有兄弟级的标签,用+即可,如div+p
若生成带类名的标签,直接使用.类名按tab键即可,同理若生成带id名字的标签,则直接#id名 按tab键即可
若使生成的div类名有顺序,则使用自增符号$即可,如
.demo$*3
补充: 有时候设置了文本居中后,界面效果依然没有显示居中,是什么原因呢?
将行高设置等于盒子高度,即可实现当行文本垂直居中对齐,因为行高=上距离+内容高度+下距离,设置的和盒子不一样大时,就会出现偏上或偏下的效果。
你可能感兴趣的:(前端知识,css)
使用 Babylon.js 开发时如何通过 CSS 实现 UI 自适应
ttod_qzstudio
Babylon JavaScript Babylon.js
本文将介绍如何在Babylon.js开发中,通过预先定义的CSS文件实现UI的自适应布局,确保UI能够根据Canvas元素的尺寸动态调整。场景描述假设我们已经使用HTML和CSS构建了Babylon.js的UI界面,并且所有样式都定义在CSS文件中。现在,我们需要让这些UI元素能够根据Canvas的尺寸动态调整,以实现自适应的效果。解决方案1.使用CSS变量(推荐)CSS变量(CustomProp
vue项目中导入视频
涔溪
vue vue
vue项目中引入视频插件一、安装插件vue-video-playernpminstallvue-video-player-s二、在main.js里倒入并使用importVideoPlayerfrom'vue-video-player'import'vue-video-player/src/custom-theme.css'import'video.js/dist/video-js.css'Vue.
一文大白话讲清楚webpack基本使用——8——开发环境和生产环境的配置和区别
16年上任的CTO
webpack webpack 前端 node.js webpack开发环境 webpack生产环境
一文大白话讲清楚webpack基本使用——8——开发环境和生产环境的配置和区别1.建议按文章顺序从头看,一看到底,豁然开朗第一篇:一文大白话讲清楚啥是个webpack第二篇:一文大白话讲清楚webpack基本使用——1——完成webpack的初步构建第三篇一文大白话讲清楚webpack基本使用——2——css相关loader的配置和使用第四篇一文大白话讲清楚webpack基本使用——3——图像相关
Webpack、Vite区别知多少?
brrdg_sefg
webpack 前端 node.js
前端的项目打包,我们常用的构建工具有Webpack和Vite,那么Webpack和Vite是两种不同的前端构建工具,那么你们又是否了解它们的区别呢?我们在做项目时要如何选择呢?一、工具定义1、Webpack:是一个强大的静态模块打包工具,它可以将各种类型的文件,如JavaScript、CSS、图片等,作为模块进行打包,并生成最终的静态资源文件。Webpack使用各种loader和plugin来处理
Css3 3D转换
黄丫丫07
css3 3d css
特点:近大远小物体后面遮挡不可见三维坐标系:三维坐标系其实就是指立体空间,立体空间是由3个轴共同组成的。X轴:水平向右为正Y轴:垂直向下为正Z轴:垂直屏幕向外为正3D位移和3D旋转:主要知识点:3D位移:translate3d(x,y,z)3D旋转:rotate3d(x,y,z)透视:perspective3D呈现transform-style3D位移:translate3d(x,y,z):Tra
CSS3 2D 转换介绍
半点寒12W
css css3 css 前端
CSS3中的2D转换(2DTransforms)允许你在二维平面上对元素进行操作,如移动、旋转、缩放和倾斜等,这可以让网页的布局和动画效果更加丰富多样。以下是一些主要的2D转换方法:一、translate(移动)语法:transform:translate(x,y);或者transform:translateX(x);和transform:translateY(y);。其中x和y是长度值(可以是像
HTML<center>标签
新生派
html 前端
HTML5不支持。标签在HTML4中用于使文本居中对齐。用什么来代替呢?例子居中对齐文本(使用CSS):h1{text-align:center;}p{text-align:center;}div{text-align:center;}ThisisaheadingThisisaparagraph.Thisisadiv.
css3过渡总结
半点寒12W
css css3 前端 css
一、过渡的定义与作用CSS3过渡(Transitions)允许CSS属性在一定的时间区间内平滑地过渡,从一个值转变为另一个值。它能够让网页元素的状态变化更加自然、流畅,给用户带来更好的视觉体验。例如,当一个元素从隐藏状态变为显示状态,通过过渡可以使其淡入,而不是生硬地突然出现。二、过渡的属性transition-property(过渡属性)该属性用于指定哪些CSS属性会产生过渡效果。它可以是单个属
深入探讨Web应用开发:从前端到后端的全栈实践
禁默
前端
目录引言1.Web应用开发的基本架构2.前端开发技术HTML、CSS和JavaScript前端框架与库响应式设计与移动优先3.后端开发技术Node.js(JavaScript后端)Python(Flask和Django)RubyonRailsJava(SpringBoot)4.数据库选择与管理关系型数据库(SQL)非关系型数据库(NoSQL)5.API设计与开发RESTfulAPIGraphQL6
html与css学习笔记(2)
陈王卜
学习 笔记
一、CSS引入方式具体有3种引入方式,语法如下表格所示:引入方式语法内联样式在HTML标签中使用style属性,例如:这是一个红色的div内部样式表在HTML文件的标签内使用标签,例如:div{color:red;}外部样式表使用标签在HTML文件的标签内引入外部CSS文件,例如:对于上述3种引入方式,企业开发的使用情况如下:1.内联样式会出现大量的代码冗余,不方便后期的维护,所以不常用。2.内部
Sass,Scss,Less的区别
_会飞的肥牛
笔记 sass less
一.Sass和Scss区别Scss是Sass的升级版,他用{}代替了缩进更符合书写习惯.homecolor:#42b983.home{color:#42b983;}二.Sass/Scss和Less区别1.编译环境不同Sass是在服务端处理的,以前是Ruby,现在是Dart-Sass或Node-Sass,而Less是需要引入less.js来处理Less代码输出CSS到浏览器,也可以在开发服务器将Le
yarn serve编译运行出错 error in ./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css
weixin_45508767
开发经验 前端 vue.js css 前端
yarnserve编译运行出错errorin./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css如下图:解决方案:使用postcssOptions:{}方法包裹住plugins,如下:module.exports={css:{loaderOptions:{postcss:{postcssOptions:{plugins:
vue中对style样式的区别
星辰啊大海7857
CSS布局 javascript
如果想要启用scss和sass,需要设置lang属性。使用less语法使用sass语法两种语法的区别(大部分摘自官网文档)lesssass(含两种语法格式)语法说明SCSS语法格式现在常用,扩展名一般为.scssSass语法格式早期使用的,使用“缩进”代替“花括号”表示属性属于某个选择器,用“换行”代替“分号”分隔属性,很多人认为这样做比SCSS更容易阅读,书写也更快速。拓展名是.sass1变量@
CSS属性:fit-content
Frilled Lizard
css 前端 css3 scss
Thisisafrostedglasseffect..frosted-glass{position:absolute;top:10vh;left:0;right:0;margin:auto;width:fit-content;background:rgba(0,0,0,0.3);font-size:28px;color:#fff;border-radius:40px;padding:8px28px
抽取网易云音乐热门评论(附代码):html+css+python+js 音乐与灵魂的碰撞
爱玩游戏的jason
other html css python
抽取网易云音乐热门评论:html+css+python+js音乐与灵魂的碰撞代码链接不说废话,上代码!!!get.py#get.pyimporturllib.requestimporturllib.errorimporturllib.parseimportjson#抓取网易云音乐指定url的热评defget_hotComments(id):url='https://music.163.com/we
SAP UI5 初学者教程之十三 - 如何添加自定义 CSS 类试读版
Python中的class体内定义方法时,如果没有显式地包含self参数,有时候依然可以被调用。这是一个非常有趣的话题,因为它涉及到对Python中类与对象之间关系的更深理解。要理解为什么这种情况下方法依然能够被调用,我们需要逐步拆解Python类的构造方式以及方法绑定的原理。
React Native 0.77发布,新样式特性,Android 16KB页面支持,Swift模板
ReactNative0.77版本发布:新特性、改进与迁移说明2025年1月21日,ReactNative0.77正式发布,此版本带来诸多新特性、对Android的支持增强、社区模板更新以及一些重要变更。一、新特性亮点(一)CSS新特性助力布局、尺寸与混合效果display:contents简化布局逻辑:该属性使元素自身在布局结构中“消失”,但子元素仍正常渲染,就像直接作为父元素的子元素一样。在构
9个防御式的CSS代码
css
场景一:单行文本过长我们设计时的理想效果是标题文字不超过8个字,正好显示完整。但实际应用时,有可能标题内容过长造成换行显示。我们可以添加文字溢出显示..省略号来解决。body,h3{margin:0;padding:0;}.box{width:150px;height:150px;position:relative;margin:40pxauto;}.boxh3{height:30px;line-
swift withCheckedContinuation相关使用
书弋江山
swift 开发语言 ios
```css```cssclasstest112:NSObject{enumMErr:Error{caseserverError(String)}/*withCheckedContinuation是Swift并发模型中的一个重要工具,它允许你将异步操作转换为一个暂停的函数,直到你手动恢复它。它在将传统的回调式异步代码转换为async/await风格时非常有用确保调用continuation.res
CSS加载与页面阻塞:看似平凡,背后却藏着优化的艺术
dorabighead
前端八股总结 前端 css
CSS加载与页面阻塞:看似平凡,背后却藏着优化的艺术引言:CSS阻塞?你所忽略的页面性能杀手!你曾经是否在浏览器打开一个网页时,发现页面内容加载得有些慢?或者,你是否曾经听到过一句话:“CSS加载会造成页面阻塞”?这一切的背后,真的只是一堆代码的问题吗?如果你以为它只是简单的CSS加载,或许你错了。今天,我们就来揭开CSS加载背后的层层面纱,探讨它是如何影响页面渲染性能,并且如何通过深度优化将这些
HTML期末学生大作业-最新QQ音乐、网易云音乐、酷狗音乐、虾米音乐、咪咕音乐网站html+css+javascript
2401_89790869
html 课程设计 css
href=“https://y.qq.com/n/ryqq/playlist/7772849553”>好评999+英文歌!轻松解压100%播放量:2.8亿扎心情歌丨爱到最后终是空欢喜播放量:510.4万如果词不达意就把爱藏心里播放量:1645.7万深情片段:深夜我还是会想起你播放量:2663.8万href=“https://y.qq.com/n/ryqq/playlist/7537828
小白WEB前端学习(五)
Sun ᥫᩣ涵
WEB前端 前端 学习
续:小白WEB前端学习(四)继续正式学习CSS(三)6.float布局!主要用于左右做图片,右文字的题目标准流标准流也叫文档流,指的是标签在页面中默认的排布规则,使⼀个元素脱离标准文档流有三种方式1.浮动2.绝对定位3.固定定位例如:块元素独占一行,行内元素可以一行显示多个。浮动作用:让块元素水平排列属性名:float属性值:left和right浮动后会脱离标准流,等于开了一个新的页面,内容在的话
微信 PC 版 4.0:新架构,新升级
创意锦囊
微信 架构
探索微信PC版4.0:新架构带来的革命性升级微信在2023年底推出了PC客户端4.0测试版,引入了全新的QT+C++原生跨平台架构。这次架构重构标志着微信在桌面端从传统的WebView技术迈向更现代化、高性能的原生技术基础,带来了显著的功能升级和用户体验优化。从旧到新:架构大变革旧架构:WebView+JavaScript微信旧版PC客户端主要依赖WebView技术,通过HTML、CSS和Java
商品详情页面html,div+css+JQuery仿京东商品详情界面
L相好
商品详情页面html
【实例简介】div+css+JQuery仿京东商品详情界面【实例截图】【核心代码】京东商品详情界面├──__MACOSX│└──浜笢鍟嗗搧璇︽儏鐣岄潰│├──css│├──images││├──images││└──products│└──js└──浜笢鍟嗗搧璇︽儏鐣岄潰├──css│├──common_07.css│├──product.css│├──product_left.css│├──
实现音乐播放器实现:前端HTML,CSS,JavaScript综合大项目(java实战)
用心去追梦
前端 html css
创建一个音乐播放器项目,使用HTML、CSS和JavaScript作为前端技术栈,并结合Java后端(如果需要),可以是一个很好的实战项目。这个项目不仅能够帮助你掌握前端开发技能,还能让你了解如何与后端交互来获取数据。下面是实现这样一个音乐播放器项目的步骤指南,包括了从规划到部署的各个方面。1.项目规划规划功能基本功能播放/暂停按钮。音量控制。进度条。歌曲列表显示。高级功能随机播放。列表循环。搜索
Vue3轮播图的实现:vue3-carousel的使用和配置
闲人陈二狗
html5 vue.js
目录一、安装vue3-carousel二、引入三、轮播全局样式修改一、安装vue3-carousel官方文档:Gettingstarted|Vue3-carouselnpminstallvue3-carousel二、引入在Vue3项目中添加,这是一个简单的轮播demo://IfyouareusingPurgeCSS,makesuretowhitelistthecarouselCSSclassesi
当父级元素设置了flex 布局 ,两个子元素都设置了flex :1, 但是当子元素放不下的时候会溢出父元素怎么解决 (css 样式问题)
IT 牛马
css 前端
一、问题遇到个样式问题,当父级元素设置了flex布局,两个子元素都设置了flex:1,但是当子元素放不下的时候会溢出父元素怎么解决(拖拽浏览器使页面变小)二、解决方法.father{min-height:600px;width:100%;display:flex;gap:12px;&-left{flex:1;min-width:0;//关键代码设置最小宽度和最大宽度可以防止子元素溢出max-wid
有趣的css - 圆形渐变光晕动效
设计师工作日常
有趣的css css 前端 动效设计 ux/ui 交互设计 加载动画
大家好,我是Just,这里是「设计师工作日常」,今天分享的是一个科技感的加载动画效果,适用于科技感网站加载页面。《有趣的css》系列最新实例通过公众号「设计师工作日常」发布。目录整体效果核心代码html代码css部分代码完整代码如下html页面css样式页面渲染效果整体效果知识点:1️⃣background-image过渡属性2️⃣animation动画属性3️⃣box-shadow阴影属性4️⃣
【CSS】渐变光晕
Y_coder
CSS css javascript 前端
dom元素css样式#box{height:300px;width:300px;background-image:-webkit-gradient(radial,50%50%,0,50%50%,127,color-stop(0%,#CE1A1A),color-stop(100%,#ffffff));background-image:-webkit-radial-gradient(centercen
vue3+typeScript+vite3+vscode+eslint+prettiter+element-plus+vue-router+pinia+cryptoJs+tailwindcss
高梅飞花
vue typescript vite 编辑器 vscode ide
项目实战windows环境搭建nodeJs安装vite3安装+项目新建配置tsconfig.json配置vite.config.tspackage.jsontailwind.config.cjs配置.eslintrc.cjs配置vscode配置vscodeeslintsettings.jsonmain.ts入口pinia配置路由配置windows环境搭建nodeJs安装nodeJs官网:https
sql统计相同项个数并按名次显示
朱辉辉33
java oracle
现在有如下这样一个表:
A表
ID Name time
------------------------------
0001 aaa 2006-11-18
0002 ccc 2006-11-18
0003 eee 2006-11-18
0004 aaa 2006-11-18
0005 eee 2006-11-18
0004 aaa 2006-11-18
0002 ccc 20
Android+Jquery Mobile学习系列-目录
白糖_
JQuery Mobile
最近在研究学习基于Android的移动应用开发,准备给家里人做一个应用程序用用。向公司手机移动团队咨询了下,觉得使用Android的WebView上手最快,因为WebView等于是一个内置浏览器,可以基于html页面开发,不用去学习Android自带的七七八八的控件。然后加上Jquery mobile的样式渲染和事件等,就能非常方便的做动态应用了。
从现在起,往后一段时间,我打算
如何给线程池命名
daysinsun
线程池
在系统运行后,在线程快照里总是看到线程池的名字为pool-xx,这样导致很不好定位,怎么给线程池一个有意义的名字呢。参照ThreadPoolExecutor类的ThreadFactory,自己实现ThreadFactory接口,重写newThread方法即可。参考代码如下:
public class Named
IE 中"HTML Parsing Error:Unable to modify the parent container element before the
周凡杨
html 解析 error readyState
错误: IE 中"HTML Parsing Error:Unable to modify the parent container element before the child element is closed"
现象: 同事之间几个IE 测试情况下,有的报这个错,有的不报。经查询资料后,可归纳以下原因。
java上传
g21121
java
我们在做web项目中通常会遇到上传文件的情况,用struts等框架的会直接用的自带的标签和组件,今天说的是利用servlet来完成上传。
我们这里利用到commons-fileupload组件,相关jar包可以取apache官网下载:http://commons.apache.org/
下面是servlet的代码:
//定义一个磁盘文件工厂
DiskFileItemFactory fact
SpringMVC配置学习
510888780
spring mvc
spring MVC配置详解
现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理。
一、Spring MVC环境搭建:(Spring 2.5.6 + Hi
spring mvc-jfreeChart 柱图(1)
布衣凌宇
jfreechart
第一步:下载jfreeChart包,注意是jfreeChart文件lib目录下的,jcommon-1.0.23.jar和jfreechart-1.0.19.jar两个包即可;
第二步:配置web.xml;
web.xml代码如下
<servlet>
<servlet-name>jfreechart</servlet-nam
我的spring学习笔记13-容器扩展点之PropertyPlaceholderConfigurer
aijuans
Spring3
PropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是BeanFactoryPostProcessor接口的一个实现。关于BeanFactoryPostProcessor和BeanPostProcessor类似。我会在其他地方介绍。PropertyPlaceholderConfigurer可以将上下文(配置文件)中的属性值放在另一个单独的标准java P
java 线程池使用 Runnable&Callable&Future
antlove
java thread Runnable callable future
1. 创建线程池
ExecutorService executorService = Executors.newCachedThreadPool();
2. 执行一次线程,调用Runnable接口实现
Future<?> future = executorService.submit(new DefaultRunnable());
System.out.prin
XML语法元素结构的总结
百合不是茶
xml 树结构
1.XML介绍1969年 gml (主要目的是要在不同的机器进行通信的数据规范)1985年 sgml standard generralized markup language1993年 html(www网)1998年 xml extensible markup language
改变eclipse编码格式
bijian1013
eclipse 编码格式
1.改变整个工作空间的编码格式
改变整个工作空间的编码格式,这样以后新建的文件也是新设置的编码格式。
Eclipse->window->preferences->General->workspace-
javascript中return的设计缺陷
bijian1013
JavaScript AngularJS
代码1:
<script>
var gisService = (function(window)
{
return
{
name:function ()
{
alert(1);
}
};
})(this);
gisService.name();
&l
【持久化框架MyBatis3八】Spring集成MyBatis3
bit1129
Mybatis3
pom.xml配置
Maven的pom中主要包括:
MyBatis
MyBatis-Spring
Spring
MySQL-Connector-Java
Druid
applicationContext.xml配置
<?xml version="1.0" encoding="UTF-8"?>
&
java web项目启动时自动加载自定义properties文件
bitray
java Web 监听器 相对路径
创建一个类
public class ContextInitListener implements ServletContextListener
使得该类成为一个监听器。用于监听整个容器生命周期的,主要是初始化和销毁的。
类创建后要在web.xml配置文件中增加一个简单的监听器配置,即刚才我们定义的类。
<listener>
<des
用nginx区分文件大小做出不同响应
ronin47
昨晚和前21v的同事聊天,说到我离职后一些技术上的更新。其中有个给某大客户(游戏下载类)的特殊需求设计,因为文件大小差距很大——估计是大版本和补丁的区别——又走的是同一个域名,而squid在响应比较大的文件时,尤其是初次下载的时候,性能比较差,所以拆成两组服务器,squid服务于较小的文件,通过pull方式从peer层获取,nginx服务于较大的文件,通过push方式由peer层分发同步。外部发布
java-67-扑克牌的顺子.从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的.2-10为数字本身,A为1,J为11,Q为12,K为13,而大
bylijinnan
java
package com.ljn.base;
import java.util.Arrays;
import java.util.Random;
public class ContinuousPoker {
/**
* Q67 扑克牌的顺子 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。
* 2-10为数字本身,A为1,J为1
翟鸿燊老师语录
ccii
翟鸿燊
一、国学应用智慧TAT之亮剑精神A
1. 角色就是人格
就像你一回家的时候,你一进屋里面,你已经是儿子,是姑娘啦,给老爸老妈倒怀水吧,你还觉得你是老总呢?还拿派呢?就像今天一样,你们往这儿一坐,你们之间是什么,同学,是朋友。
还有下属最忌讳的就是领导向他询问情况的时候,什么我不知道,我不清楚,该你知道的你凭什么不知道
[光速与宇宙]进行光速飞行的一些问题
comsci
问题
在人类整体进入宇宙时代,即将开展深空宇宙探索之前,我有几个猜想想告诉大家
仅仅是猜想。。。未经官方证实
1:要在宇宙中进行光速飞行,必须首先获得宇宙中的航行通行证,而这个航行通行证并不是我们平常认为的那种带钢印的证书,是什么呢? 下面我来告诉
oracle undo解析
cwqcwqmax9
oracle
oracle undo解析2012-09-24 09:02:01 我来说两句 作者:虫师收藏 我要投稿
Undo是干嘛用的? &nb
java中各种集合的详细介绍
dashuaifu
java 集合
一,java中各种集合的关系图 Collection 接口的接口 对象的集合 ├ List 子接口 &n
卸载windows服务的方法
dcj3sjt126com
windows service
卸载Windows服务的方法
在Windows中,有一类程序称为服务,在操作系统内核加载完成后就开始加载。这里程序往往运行在操作系统的底层,因此资源占用比较大、执行效率比较高,比较有代表性的就是杀毒软件。但是一旦因为特殊原因不能正确卸载这些程序了,其加载在Windows内的服务就不容易删除了。即便是删除注册表中的相 应项目,虽然不启动了,但是系统中仍然存在此项服务,只是没有加载而已。如果安装其他
Warning: The Copy Bundle Resources build phase contains this target's Info.plist
dcj3sjt126com
ios xcode
http://developer.apple.com/iphone/library/qa/qa2009/qa1649.html
Excerpt:
You are getting this warning because you probably added your Info.plist file to your Copy Bundle
2014之C++学习笔记(一)
Etwo
C++ Etwo Etwo iterator 迭代器
已经有很长一段时间没有写博客了,可能大家已经淡忘了Etwo这个人的存在,这一年多以来,本人从事了AS的相关开发工作,但最近一段时间,AS在天朝的没落,相信有很多码农也都清楚,现在的页游基本上达到饱和,手机上的游戏基本被unity3D与cocos占据,AS基本没有容身之处。so。。。最近我并不打算直接转型
js跨越获取数据问题记录
haifengwuch
jsonp json Ajax
js的跨越问题,普通的ajax无法获取服务器返回的值。
第一种解决方案,通过getson,后台配合方式,实现。
Java后台代码:
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String ca
蓝色jQuery导航条
ini
JavaScript html jquery Web html5
效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/39.htmHTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery鼠标悬停上下滑动导航条 - 柯乐义<
linux部署jdk,tomcat,mysql
kerryg
jdk tomcat linux mysql
1、安装java环境jdk:
一般系统都会默认自带的JDK,但是不太好用,都会卸载了,然后重新安装。
1.1)、卸载:
(rpm -qa :查询已经安装哪些软件包;
rmp -q 软件包:查询指定包是否已
DOMContentLoaded VS onload VS onreadystatechange
mutongwu
jquery js
1. DOMContentLoaded 在页面html、script、style加载完毕即可触发,无需等待所有资源(image/iframe)加载完毕。(IE9+)
2. onload是最早支持的事件,要求所有资源加载完毕触发。
3. onreadystatechange 开始在IE引入,后来其它浏览器也有一定的实现。涉及以下 document , applet, embed, fra
sql批量插入数据
qifeifei
批量插入
hi,
自己在做工程的时候,遇到批量插入数据的数据修复场景。我的思路是在插入前准备一个临时表,临时表的整理就看当时的选择条件了,临时表就是要插入的数据集,最后再批量插入到数据库中。
WITH tempT AS (
SELECT
item_id AS combo_id,
item_id,
now() AS create_date
FROM
a
log4j打印日志文件 如何实现相对路径到 项目工程下
thinkfreer
Web log4j 应用服务器 日志
最近为了实现统计一个网站的访问量,记录用户的登录信息,以方便站长实时了解自己网站的访问情况,选择了Apache 的log4j,但是在选择相对路径那块 卡主了,X度了好多方法(其实大多都是一样的内用,还一个字都不差的),都没有能解决问题,无奈搞了2天终于解决了,与大家分享一下
需求:
用户登录该网站时,把用户的登录名,ip,时间。统计到一个txt文档里,以方便其他系统调用此txt。项目名
linux下mysql-5.6.23.tar.gz安装与配置
笑我痴狂
mysql linux unix
1.卸载系统默认的mysql
[root@localhost ~]# rpm -qa | grep mysql
mysql-libs-5.1.66-2.el6_3.x86_64
mysql-devel-5.1.66-2.el6_3.x86_64
mysql-5.1.66-2.el6_3.x86_64
[root@localhost ~]# rpm -e mysql-libs-5.1