css

阅读 / 问答 / 标签

谁可以告诉我如何快速清理沉余的css代码

我们在代码优化(二)里面介绍了影响网页速度的几个因素以及为网页瘦身的原因,今天在这一节里面我们就详细的介绍怎样为网页瘦身的方法、技巧。1、首先我们要去掉空白区域一般情况下来说,空白区域包括空格、换行符、制表符等这些对网页不起任何作用的都可以安全的删除,删除它们对网页不会产生任何影响,但是值得注意的是,在修改的过程中要尽量避免修改pre,textarea,及受css属性中white-space影响的标签。所以鉴于这种情况,我建议大家在做seo网站优化之前做个备份。2、去掉注释内容注释是为了让看代码的人清晰明了,对网页美观和速度不产生任何影响,所以除了在客户端给ie和octype声明的注释,几乎所有的注释都可以k掉,可以放心的去除所有的注释内容。3、使用短格式的颜色表示我们常常在用颜色的时候喜欢用16进制和全颜色名称,认为这样比较精确,但我们要尽可能根据实际情况使用短格式的颜色表示如:#000000,其实就是black。4、用短格式的字符表示和最短颜色表示一样,一些名称可以用最短字符来表示,我们可以用较短的数字来代替某些长长的字母。5、除去无用的标签有些无用的标签,比如使用了多次的重复标签或者某些编辑器里面用做广告的meta标签,都可以放心大胆的去除掉。在seo网站优化的过程中代码优化最基本的冗余代码的去处就是上面我们所讲述的五点内容,也是要加快网页下载速度必须要做的最基本性的工作,这些冗余代码都去掉了之后,剩下的工作就是做css和js的优化了,下一节我详细的给大家介绍介绍css和js的优化技巧。

css如何控制图片位置

posistion:fix 这个你自己了解下posistion属性吧top,left自己慢慢调另外还可以用js控制位置

css样式文件太大是不是不会影响页面的加载速度

当然会影响,但是我感觉影响不是很大,引文这种文本文件的尺寸是非常小的,一般情况下图片对网页的影响非常大,高清的图片都很多M,CSS文件一般是多少K.

CSS居中后,底部被遮挡,是什么原因?

z-index="999"标签,让div浮在最上层

CSS一般占多大内存

很小的,几k

100k左右的css用在网站上会卡么?

不会啊,css文件大小对网站网速起不到决定作用,但是最好还是要压缩,因为一万个100K压缩到60K这差别就大了,还要做好缓存优化,这是最重要的。

Css和master的区别

Css_master是一个专业名词,简称css,Css和master的没有区别。一:css样式作用有三种方式:1.行内样式,直接在标签中加入样式,不推荐使用2.内部样式,在head中加入样式3.外部样式,直接写在css文件中,可以通过两种方式引入,一种在head中写入css文件的路径,还可以用import引入二:css的选择器:1.基础选择器#id{k:v} 优先级是最高的2.类选择器,在元素上面加入class的属性.class{k:v} 优先级次之3.元素选择器:就是对html中的元素增加样式div{k:v} 优先级最低4.扩展选择器:*{ } 选择所有的元素并集选择器:可以同时作用于基础的选择器和类选择器后代选择器:例如可以选择div下面的p标签属性选择器 input【type】{k:v} 作用于input下面的text伪类选择器:主要是作用于标签,增加a标签的样式

css中导入样式表和链接样式表有什么区别,我不是问语法,而是问内在区别,还有我怎么才能体会到他们的区别

首先,外置的一个样式文件可以被很多需要用到的地方调用.内置就做不到这点了.其次,如果你要修改一个样式表,外置只要修改一个,内置呢,你有多少个相关文件就要修改多少个文件的样式.这就失去了样式表的特性,样式表就是为了实现内容与效果分离的结果,如果都要这样改,何必用样式表?再有,内置比外置文件容量会大很多.易读易改性也会差.

关于CSS样式分开使用的问题,比如class="aa bb cc dd"

这个是个人习惯吧,第二种一目了然..

csSK战队人员的中文名叫什么?

我也不知道 打酱油的

css注释写法正确的是

css注释写法正确的是/* 注释语句 */CSS3的基本语法CSS3的语法非常简单,如下:先写选择器,选择器就是选择页面上的某一个元素。然后在选择器的后面写一个空格,也可以不写空格,但是当你格式化网页代码的时候,选择器后面的空格就会自动被添加上。然后再写一个大括号对,在键盘上就是字母p后面的两个键。大括号里面就是当前这个选择器的样式的罗列,样式的形式就是—-k:v;k:v;k:v每一个k:v就叫一条样式。k就是属性名,v就是属性的值。属性名和属性值之间用英文的冒号隔开,冒号后面可以有一个空格,也可以没有空格。每一个k:v和另一个k:v之间,必须用英文的分号隔开。每一个选择器的最后一条样式,是可以不写分号的。如下:CSS的每一条样式,也可以不换行。当然不换行的写法,也是符合CSS3的语法规范的,只是这样写显得有点凌乱。当然在vscode编辑器里,写css的时候,冒号和分号是自动补全的,基本上也不会出现编写错误。CSS3的注释CSS3的注释是这样写的:比如:在CSS代码或CSS文件中,按Ctrl+/快捷键,可以快速形成注释。现在我在项目文件夹中创建一个”CSS3基本语法.html”的文件,在里面演示CSS3语法和注释。

CSsk战队的简介

SK战队于1997年在瑞典成立,全称Schroet Kommando(爆破突击队手)。创建之初,主要以Quake闻名。后来SK的新组合在2002年取得了CPL Summer的冠军,这使他们一跃成为世界上最好的CS战队。接着在众多比赛上,SK保持了良好稳定的战绩,延续着自己的辉煌,在随后的ESWC的总赛上被列为头号种子队。ESWC烽火未尽,SK便再一次调整了龙头战船上的水手,作为一支日臻成熟的战队,迅速调整带来的是更加辉煌的胜利。2003年,北欧海盗精神的年轻继承者囊括了CPL2003夏季锦标赛冠军,CPL2003冬季锦标赛冠军,2003WCG总决赛冠军。

cssk,light什么意思?英文什么意思

especially given that the number

css3怎么让动画匀速变换 linear

实例以相同的速度从开始到结束的过渡效果:div{transition-timing-function: linear;-moz-transition-timing-function: linear; /* Firefox 4 */-webkit-transition-timing-function: linear; /* Safari 和 Chrome */-o-transition-timing-function: linear; /* Opera */}

请问一下CSS里面linear什么意思

直线

css的grid布局和表格的区别是什么

最主要的区别就是grid是在CSS中实现,而table是在HTML中实现的,而且最重要的,grid貌似只在IE10+浏览器被支持,其他浏览器都不支持

CSS嵌入式样式表的定义,怎么用

嵌入式需要定义在html/xhtml的<head>区,如下: <html lang="en"> <head> <title>Example Web Page</title> <style type="text/css"> //在这里定义 p { font-weight:bold; } </style> </head> <body> <p> Text that will be formatted. </p> </body> </html>

css样式引入有哪几种方式,优先级是怎么样的?

在HTML中常用以下三种方式定义CSS:embedding(嵌入式)、linking(外部引用式)和inline(内联式,也称行内样式)。一:嵌入式 用户可在HTML文档头部定义多个style元素,实现多个样式表。二:外部引用式 ①可以在多个文档间共享样式表,对于较大规模的网站,将CSS样式定义独立成一个一个的文档,可有效地提高效率,并有利于对网站风格的维护。 ②可以改变样式表,而无需更改HTML文档,这也与HTML语言内容与形式分开的原则相一致。 ③可以根据介质有选择的加载样式表。三:内联式 使用该属性可以直接指定样式,当然,该样式仅能用于该元素的内容,对于另一个同名的元素则不起作用。优先级: 内联式&gt;内嵌式&gt;外部引用式

css-loader和style-loader

1.开发环境安装css-loader 2.在webpack.config.js中引入css-loader(三种方法) 3.引入后npm run build,仍然无法显示样式,什么原因? 因为没有安装style-loader 1.开发环境安装style-loader 2.在webpack.config.js中引入style-loader 默认规则:引入的loader从下往上,从右往左扫描 3.引入css-loader和style-loader后npm run build,正常显示

css中outline和border的区别

css里面outline不经常用,border就边框占用宽度

CSS加虚线是哪个属性?

border线型主要有:1、dotted【点状】2、solid【实线】 3、double【双实线】 4、dashed;【虚线】 如果一个CSS这样写:border-style:dotted solid double dashed; 出来的框就是:上边框是点状,右边框是实线,下边框是双线,左边框是虚线 如果一个CSS这样写:border-bottom:1px dashed #000000;出来的框就是:一条宽度为1像素的黑色下划虚线。 以此类推。多试试就知道什么效果了哦。

CSS中,border-style为dotted 时,为何左上角的两个会挨到一起?

没有,这里是代表连接点,需要实现这样的效果需要使用 html 5 的 canvas 来实现

CSS border(边框)样式写法总结

border属性 :在网页中设置元素的边框样式。可同时设置边框宽度、边框样式、边框颜色。也可以单独设置上边、右边、下边、左边的边框。 语法:border: border-width | border-style | border-color; border-width :边框宽度。可以指定长度值。如1px,1em(单位为px,pt,em等)。或者使用关键字medium(默认),thick,thin。 u2003border-top-width:设置元素上边框宽度 u2003border-right-width:设置元素右边框宽度 u2003border-bottom-width:设置元素下边框宽度 u2003border-left-width:设置元素左边框宽度 border-style :边框样式。 u2003border-top-style:设置元素上边框样式 u2003border-right-style:设置元素右边框样式 u2003border-bottom-style:设置元素下边框样式 u2003border-left-style:设置元素左边框样式 u2003属性值有: u2003u2003none:无边框。 u2003u2003hidden:隐藏边框。对于表,hidden 用于解决边框冲突。 u2003u2003dotted:点状边框。 u2003u2003dashed:虚线边框。 u2003u2003solid:实线边框。 u2003u2003double:双线边框。两条单线与其间隔的和等于指定的border-width值。 u2003u2003groove:3D凹槽边框。 u2003u2003ridge:3D垄状边框。 u2003u2003inset:凹边框。 u2003u2003outset:凸边框。 border-color :边框颜色。 1.1 边框各样式效果图 1.2 四条边颜色样式相同 1.3 四条边颜色不同,样式相同 1.4 四条边颜色相同,样式不同 1.5 设置上边框宽度、样式、颜色 1.6 设置右边框宽度、样式、颜色 1.7 设置下边框宽度、样式、颜色 1.8 设置左边框宽度、样式、颜色 以上对border边框属性进行了基础操作,大家可以根据自己的经验为边框制作出更漂亮的样式。如若大家有什么更好的见解,那就在回复区畅所欲言吧,我定会吸取精华~如有写错欢迎大家回复,我以后定会更加细心 _

CSS中,border-style为dotted 时,为何左上角的两个会挨到一起

这是浏览器渲染问题。在不同浏览器中显示不一样,如火狐浏览器可以均匀分布如图。可以使用border-image加图片解决兼容问题。

【CSS】为什么我按照书上说的border-style里的属性设置在页面有的显示不出出来

border:1px dotted #000;这是一般写边框样式的简写,分开写就意思就是 border-width:1px; border-style:dotted; border-color:#000;上面的简写最好是习惯性的每次都写3个样式,这样边框也不容易出现问题

【css】边框border的属性和使用方法

顾名思义,就是元素外面的一圈边框,下图中虚线圈起的部分是内容,外面橙色的一圈是它的边框,可以理解成在照片外面加一个相框,使用border属性。 边框样式border-style必须写!否则其它属性全部失效。 边框的样式: border后面可跟多个值,中间用空格分离,含义如下: 注意顺序, 边框样式不可省略 ,颜色和宽度可以省略,会显示默认的效果。 ——以上规律在padding和margin一样适用。 边框样式border-style必须设置 如果我们的四条边框属性都是一样的,那么统一设置就可以啦,注意边框类型不可省略。 首先我们放置一个宽高为200px的粉色盒子。 接下来我们为它加上一条宽度为10px,样式为实线,颜色为红色的边框。 我们可以看到,添加边框的时候,是在盒子外面套一圈边框,而不是加在里面,在Chrome浏览器中点击右键检查,可以看到div的大小变成了220x220。 套在外面的边框的宽度是会加进盒子尺寸的(上下左右各增加了10px),如果我们想盒子保持大小不变,要对div本身的width和height进行减小,在这个样例中,通过计算可得,减少到180px即可保持大小不变。 当我们使用点状、虚线等边框样式时,多出来的缝隙,会使用元素本身的 背景颜色 填充。 点和虚线的具体样式,不同浏览器中可能会不一样。 我们为刚刚的盒子设置上边框为红色,左边框为绿色,效果如下图所示: 我们会发现在两条边框交界处的小方块,通过一条对角线分隔,上边框和左边框各占一半。当边框不一样宽时,同样也是用对角线把交界处的小长方形一分为二,如下图所示: 当被添加边框的元素宽度为0,不设置高度(高度默认是0)的情况下,我们可以巧妙利用 边框组合 和 transparent(透明) 绘制三角形,可以体验下哦。 三角形1-css: 三角形2-css: 多彩三角形-css: 绘制梯形只要对应添加宽度或者高度就可以啦 梯形1-css: 梯形2-css:

svchost.exe 用户名是NETWORK SERVICE 转到服务是:RpcSs服务和RpcEptMapper服务为什么那么占内存。

svchost.exe是系统服务加载程序,系统服务启动都会依赖于它。想降低内存占用,就得关闭一些用不到的服务。网上有教程的。

style="margin-left: 32px;" 我要修改这个值,在css里面哪个?

你得在html或者php文件里面找到这一行,css里面是没有的,加了style=就说明是内敛样式

关于CSS中margin-left在不同浏览器冲突如何解决

margin-left:80px!important margin-left:30pxIE对 !important margin-left:30px 不做解读

CSS中.a {margin-left: 35px;.b {display: flex;}}这是什么写法?

css标准中是没有这种写法的。或许这是某个框架的自定义用法?

css 移动端ul width:96%时,里面的li width:22.5%,margin-left:2%,左侧与右侧的边距不等

里头的加起来没有百分百只有98%,给第一个li,margin-left下。nav ul li:first-child{ margin-left:1%;}

CSS控制文字往左边移动30px 求助!

marginleft:30px应该可以,呵呵。

关于div css 中的 float 浮动问题,为什么margin-left属性在 IE和 火狐中显示不出来

  您好!很高兴为您答疑!  火狐下您可以安装Firebug检查页面代码,错误部分会有提示。  您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。

css的提示框,{left: 50%;margin-left: -60px;}为什么能起到居中定位的效果呢?

绝对定位(position: absolute)是以父元素为基准点,进行定位。如果他没有父元素,或者它的父元素没有设置相对定位(position:relative)属性它就会以最近的非标准流盒子为基准点进行定位。

请问css的margin-left: -150px; margin-top: -100px的负号怎么理解

负号就是相反的方向

知道padding-left和margin-left的区别,但CSS中left和padding-left有什么具体区别呢?

left是层位置属性设置,padding-left是层距离层左边距离设置

CSS代码问题: margin-left:10px; 边框距左10像素 什么情况下要从宽里减去这10像素 什么时候不用减去呢?

如果一个div中定义了width,就需要减去这个宽度。如果没有设置,就不需要减去减去。但是在一个div 中,最关注的应该是padding一个width是X像素的话,padding是Y像素,整个DIV的是X+Y

CSS代码:left:10px margin-left:10px两者有什么区别?祥细!

left这个属性不能单独使用的,必须配合positionmargin指的是外边距

css 如何解决margin-left在ie中翻倍问题。

margin-left:30px;_margin-left:15px;需要这样,_margin-left:15px;只有ie识别

css中的定位left与margin-left有什么本质区别?分别怎么用好?

楼上说法有误,left并不是只有在绝对定位中才用的到,而是在定位中都用得到,left是用于定位的,表示左偏移量;margin-left是指左外边距,理解了盒子模型这个就很容易理解!想了解的更深入的话,去http://www.w3school.com.cn/htmldom/这里学吧!

初学css 想问下margin-left 和left的区别

imgMain.style.marginleft是指 div距离页面左边的距离

5、CSS样式之动画效果

阴影: 通过合理添加阴影可以使平面网页内容显示出立体的效果 1、 box-shadow:盒子阴影 (1) 阴影在x轴方向的偏移, 正右负左 (2) 阴影在y轴方向的偏移, 正下负上 (3) 阴影的模糊度, 数值越大, 阴影越模糊 (4) 阴影的范围, 数值越大, 阴影越大 (5) 阴影颜色 (6) 阴影位置, 默认outset盒子外阴影, inset盒子内阴影 2、 text-shadow:文字阴影 (1) 阴影x轴偏移 (2) 阴影y轴偏移 (3) 阴影模糊度 (4) 阴影颜色 文字阴影不能像盒子阴影一样叠加阴影。 可以通过渐变为标签设置一定梯度变化的背景色 渐变色只能给标签的background-image样式赋值。 1、线性渐变: -webkit-linear-gradient 1) 线性的角度或方向, 默认从上到下渐变 (1) left / right / top / bottom 设置渐变的开始方向 (2) 角度的设置, 单位deg, 0deg在3点钟方向, 正角度逆时针旋转, 负角度顺时针旋转。 2) 渐变的颜色和阶段, 如果不设置阶段, 各个自动平分 2、径向渐变, 以圆心向四周沿着半径方向渐变:-webkit-radial-gradient (1) 设置圆的类型, 默认椭圆, 可以设置circle (2) 设置颜色及阶段 倒影:通过-webkit-box-reflect 来为标签设置倒影 (1) 设置倒影方向 above: 倒影出现在标签的上方 below: 倒影出现在标签的下方 left: 倒影出现在标签的左方 right: 倒影出现在标签的右方 (2) 设置倒影距离 (3) 设置蒙版图片, 可以设置渐变 倒影目前只在 Chrome 和 Safari 浏览器生效 过渡动画效果: 将标签的样式变化以连续平滑的方式显示, 类似于动画。 1)transition-property: 设置过渡需要表现表现的样式属性,通常使用 all 来设置所有样式变化都用过渡显示。 2)transition-duration: 设置过渡的持续时间。 3)transition-delay: 设置过渡效果的延迟时间。 4)transition-timing-function: 设置过渡的速度曲线。 过渡效果,可以简写,用空格可空开过渡样式的各个值,不分先后,当存在两个时间时,第一个为过渡持续时间,第二个为过渡延迟时间。 可以设置的值: (1)ease: 先快后慢 (2)ease-in: 加速 (3)ease-out: 减速 (4)ease-in-out: 先加速后减速 (5)linear: 匀速 1、2d变换: 通过 transform 来为标签设置变换 1) 平移变换 translate translateX():设置标签沿着x轴移动的距离 translateY():设置标签沿着y轴移动的距离 translate():设置标签沿着xy轴的移动距离,第一个值表示x轴平移,第二个值表示y轴平移 x轴水平向右为正方向,y轴向下为正方向 平移会保留标签原本位置,相对自身原本位置平移 2) 旋转变换 rotate 默认旋转点在标签的正中心,正角度使标签沿着顺时针旋转,负角度使标签沿着逆时针旋转。 0deg方向是12点方向。 旋转点又是标签变换的坐标系原点 3)缩放变换 scale scaleX()、scaleY()、scale() 缩放变换,放大缩小的是标签坐标系的比例,例如,放大2倍,坐标系中1px就变成了2px;注意,一旦坐标系比例发生变化,会影响其他变换,例如:平移变换100px在2倍坐标系下,就会平移200px。 transform-origin 设置标签变换参照点位置: (1)left/right/top/bottom/center来设置特殊位置 (2)通过具体像素精确设置位置 第一个值表示x轴方向对参照点位置的设置 第二个值表示y轴方向对参照点位置的设置 允许变换参照点设置在标签之外 注意,一旦为标签更改变换参照点,那么变换参照点的基准就变成了标签左上角为原点。 2d的变换总结: (1)默认变换参照点在标签的正中心,x轴为穿过参照点水平轴,向右为正,y轴是穿过参照点竖直轴,向下为正。 (2)平移、旋转、缩放都会改变标签坐标系的状态。 (3)变换都是参照标签初始位置进行变换。 2、3D变换 设置3d变换 : 设置视距: (1)和2d变换相似,只是在2d变换平面的基础上,多出了一条,垂直于标签平面并默认向外为正的z轴。 (2)3d变换需要为变换标签的父标签设置变换类型为3d,相当于在该标签下生成了一块3d空间。 (3)3d变换下,只有平移和旋转变换,没有缩放。 (4)3d变换中, 可以通过改变标签变换参照点位置来改变XYZ轴的位置 1、 animation动画,配合@keyframes来为标签设置关键帧动画 animation属性值: 1)animation-name:动画名称,用于为动画绑定关键帧 @keyframes后面的名称 2)animation-duration:动画播放时间 s为单位,时间为0无动画过程 3)animation-delay:动画延迟时间 s为单位,时间为0无延迟 4)animation-timing-function:动画缓动效果 可以设置的值: (1)ease (2)ease-in (3)ease-out (4)ease-in-out (5)linear 5)animation-direction:设置动画方向 alternate,当播放次数大于一,返向播放 6)animation-iteration-count:设置动画播放次数 infinite,无限播放 7)animation-fill-mode:设置动画结束位置 默认 backwards,回到初始位置 forwards,停在结束位置 注意: animation同样存在简写,将样式值以空格隔开,不区分先后,两个时间同时出现,第一个为播放时间,第二个为延迟时间。 一些css3样式只在部分浏览器生效, 可以通过添加兼容前缀的形式来对部分低版本浏览器兼容 例如: transition: all 1s linear; -webkit-transition: all 1s linear; -moz-transition: all 1s linear; -o-transition: all 1s linear; -ms-transition: all 1s linear; 兼容问题: -webkit- chrome、safari -moz- firefox -o- opera -ms- ie nimation、transition、transform、gradient等css3样式都应添加前缀进行多类型多版本浏览器兼容。

CSS3 Animation 控制元素在动画的初始位置开始动画

当我们给元素添加Animation后,动画总是现在元素的初始位置显示一下,然后再跳到动画的起始位置播放,这样的话会很难看。 解决方法: 使用animation-fill-mode:forwards属性 forwards参数意思为 元素将在动画延迟结束后 初始位置显示在 动画关键帧的最后一帧定义的位置 backwards参数意思为 元素将在动画延迟结束后 初始位置显示在 动画关键帧的第一帧定义的位置 上边样式的将变现为,class为phone的元素会在加载完成后,从它的定义位置靠下5rem开始动画。 js中赋值nimation-fill-mode:forwards的方法: object .style.animationFillMode=none | forwards | backwards | both;

字节跳动最爱考的前端面试题:CSS 基础

参考链接: juejin.im/post/5e8d52… animation、transition、transform、translate 这几个属性要搞清楚: 水平居中: 垂直居中 BFC 是块级格式上下文,IFC 是行内格式上下文: 不会,因为 BFC 是页面中一个独立的隔离容器,其内部的元素不会与外部的元素相互影响,比如两个 div,上面的 div 设置了 float,那么如果下面的元素不是 BFC,也没有设置 float,会形成对上面的元素进行包裹内容的情况,如果设置了下面元素为 overflow:hidden;属性那么就能够实现经典的两列布局,左边内容固定宽度,右边因为是 BFC 所以会进行自适应。 box-sizing 属性可以被用来调整这些表现: BFC(Block Formatting Context)格式化上下文,是 Web 页面中盒模型布局的 CSS 渲染模式,指一个独立的渲染区域或者说是一个隔离的独立容器。 五种: BFC 的特性: CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括: 外边距(margin) 、 边框(border) 、 内边距(padding) 、 实际内容(content) 四个属性。 CSS盒模型: 标准模型 + IE模型 标准盒子模型:宽度=内容的宽度(content)+ border + padding 低版本IE盒子模型:宽度=内容宽度(content+border+padding),如何设置成 IE 盒子模型: static:无特殊定位,对象遵循正常文档流。top,right,bottom,left等属性不会被应用。 relative:对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置。而其层叠通过z-index属性定义。 absolute:对象脱离正常文档流,使用top,right,bottom,left等属性进行绝对定位。而其层叠通过z-index属性定义。 fixed:对象脱离正常文档流,使用top,right,bottom,left等属性以窗口为参考点进行定位,当出现滚动条时,对象不会随着滚动。而其层叠通过z-index属性定义。 sticky:具体是类似 relative 和 fixed,在 viewport 视口滚动到阈值之前应用 relative,滚动到阈值之后应用 fixed 布局,由 top 决定。 问:为什么会有这种现象?你能解释一下吗 是由块级格式上下文决定的,BFC,元素在 BFC 中会进行上下排列,然后垂直距离由 margin 决定,并且会发生重叠,具体表现为同正取最大的,同负取绝对值最大的,一正一负,相加 BFC 是页面中一个独立的隔离容器,内部的子元素不会影响到外部的元素。 不清楚浮动会发生高度塌陷:浮动元素父元素高度自适应(父元素不写高度时,子元素写了浮动后,父元素会发生高度塌陷) 了解更多加入我们前端学习圈

前端经典面试题(60道前端面试题包含JS、CSS、React、浏览器等)

防抖 节流 误区:我们经常说get请求参数的大小存在限制,而post请求的参数大小是无限制的。 实际上HTTP 协议从未规定 GET/POST 的请求长度限制是多少。对get请求参数的限制是来源与浏览器或web服务器,浏览器或web服务器限制了url的长度。为了明确这个概念,我们必须再次强调下面几点: 补充补充一个get和post在缓存方面的区别: 可从IIFE、AMD、CMD、CommonJS、UMD、webpack(require.ensure)、ES Module、 vue和react都是采用diff算法来对比新旧虚拟节点,从而更新节点。在vue的diff函数中(建议先了解一下diff算法过程)。在交叉对比中,当新节点跟旧节点 头尾交叉对比 没有结果时,会根据新节点的key去对比旧节点数组中的key,从而找到相应旧节点(这里对应的是一个key => index 的map映射)。如果没找到就认为是一个新增节点。而如果没有key,那么就会采用遍历查找的方式去找到对应的旧节点。一种一个map映射,另一种是遍历查找。相比而言。map映射的速度更快。vue部分源码如下: 创建map函数 遍历寻找 在React中, 如果是由React引发的事件处理(比如通过onClick引发的事件处理),调用setState不会同步更新this.state,除此之外的setState调用会同步执行this.state 。所谓“除此之外”,指的是绕过React通过addEventListener直接添加的事件处理函数,还有通过setTimeout/setInterval产生的异步调用。 **原因:**在React的setState函数实现中,会根据一个变量isBatchingUpdates判断是直接更新this.state还是放到队列中回头再说,而isBatchingUpdates默认是false,也就表示setState会同步更新this.state,但是, 有一个函数batchedUpdates,这个函数会把isBatchingUpdates修改为true,而当React在调用事件处理函数之前就会调用这个batchedUpdates,造成的后果,就是由React控制的事件处理过程setState不会同步更新this.state 。 虚拟dom相当于在js和真实dom中间加了一个缓存,利用dom diff算法避免了没有必要的dom操作,从而提高性能。 具体实现步骤如下: 用 JavaScript 对象结构表示 DOM 树的结构;然后用这个树构建一个真正的 DOM 树,插到文档当中 当状态变更的时候,重新构造一棵新的对象树。然后用新的树和旧的树进行比较,记录两棵树差异 把2所记录的差异应用到步骤1所构建的真正的DOM树上,视图就更新了。 结构:display:none: 会让元素完全从渲染树中消失,渲染的时候不占据任何空间, 不能点击, visibility: hidden:不会让元素从渲染树消失,渲染元素继续占据空间,只是内容不可见,不能点击 opacity: 0: 不会让元素从渲染树消失,渲染元素继续占据空间,只是内容不可见,可以点击 继承:display: none:是非继承属性,子孙节点消失由于元素从渲染树消失造成,通过修改子孙节点属性无法显示。visibility: hidden:是继承属性,子孙节点消失由于继承了hidden,通过设置visibility: visible;可以让子孙节点显式。 性能:displaynone : 修改元素会造成文档回流,读屏器不会读取display: none元素内容,性能消耗较大 visibility:hidden: 修改元素只会造成本元素的重绘,性能消耗较少读屏器读取visibility: hidden元素内容 opacity: 0 :修改元素会造成重绘,性能消耗较少 联系:它们都能让元素不可见 常用的一般为三种 .clearfix , clear:both , overflow:hidden ; 比较好是 .clearfix ,伪元素万金油版本,后两者有局限性. clear:both :若是用在同一个容器内相邻元素上,那是贼好的,有时候在容器外就有些问题了, 比如相邻容器的包裹层元素塌陷 overflow:hidden :这种若是用在同个容器内,可以形成 BFC 避免浮动造成的元素塌陷 概念:将多个小图片拼接到一个图片中。通过 background-position 和元素尺寸调节需要显示的背景图案。 优点: 缺点: block 元素特点: 1.处于常规流中时,如果 width 没有设置,会自动填充满父容器 2.可以应用 margin/padding 3.在没有设置高度的情况下会扩展高度以包含常规流中的子元素 4.处于常规流中时布局时在前后元素位置之间(独占一个水平空间) 5.忽略 vertical-align inline 元素特点 1.水平方向上根据 direction 依次布局 2.不会在元素前后进行换行 3.受 white-space 控制 4. margin/padding 在竖直方向上无效,水平方向上有效 5. width/height 属性对非替换行内元素无效,宽度由元素内容决定 6.非替换行内元素的行框高由 line-height 确定,替换行内元素的行框高由 height , margin , padding , border 决定 7.浮动或绝对定位时会转换为 block 8. vertical-align 属性生效 GIF : JPEG : PNG : 七种数据类型 (ES6之前)其中5种为基本类型: string , number , boolean , null , undefined , ES6出来的 Symbol 也是原始数据类型 ,表示独一无二的值 Object 为引用类型(范围挺大),也包括数组、函数, 输出结果是: 工厂模式 简单的工厂模式可以理解为解决多个相似的问题; 单例模式 只能被实例化(构造函数给实例添加属性与方法)一次 沙箱模式 将一些函数放到自执行函数里面,但要用闭包暴露接口,用变量接收暴露的接口,再调用里面的值,否则无法使用里面的值 1.字面量 2.Object构造函数创建 3.使用工厂模式创建对象 4.使用构造函数创建对象 HTML中与javascript交互是通过事件驱动来实现的,例如鼠标点击事件onclick、页面的滚动事件onscroll等等,可以向文档或者文档中的元素添加事件侦听器来预订事件。想要知道这些事件是在什么时候进行调用的,就需要了解一下“事件流”的概念。 什么是事件流:事件流描述的是从页面中接收事件的顺序,DOM2级事件流包括下面几个阶段。 addEventListener : addEventListener 是DOM2 级事件新增的指定事件处理程序的操作,这个方法接收3个参数:要处理的事件名、作为事件处理程序的函数和一个布尔值。最后这个布尔值参数如果是true,表示在捕获阶段调用事件处理程序;如果是false,表示在冒泡阶段调用事件处理程序。 IE只支持事件冒泡 。 获取一个对象的原型,在chrome中可以通过__proto__的形式,或者在ES6中可以通过Object.getPrototypeOf的形式。 那么Function.proto是什么么?也就是说Function由什么对象继承而来,我们来做如下判别。 我们发现Function的原型也是Function。 我们用图可以来明确这个关系: 这里来举个栗子,以 Object 为例,我们常用的 Object 便是一个构造函数,因此我们可以通过它构建实例。 则此时, 实例为instance , 构造函数为Object ,我们知道,构造函数拥有一个 prototype 的属性指向原型,因此原型为: 这里我们可以来看出三者的关系: 在 JS 中,继承通常指的便是 原型链继承 ,也就是通过指定原型,并可以通过原型链继承原型上的属性或者方法。 在函数式编程中,函数是一等公民。那么函数柯里化是怎样的呢? 函数柯里化指的是将能够接收多个参数的函数转化为接收单一参数的函数,并且返回接收余下参数且返回结果的新函数的技术。 函数柯里化的主要作用和特点就是参数复用、提前返回和延迟执行。 在一个函数中,首先填充几个参数,然后再返回一个新的函数的技术,称为函数的柯里化。通常可用于在不侵入函数的前提下,为函数 预置通用参数 ,供多次重复调用。 call 和 apply 都是为了解决改变 this 的指向。作用都是相同的,只是传参的方式不同。 除了第一个参数外, call 可以接收一个参数列表, apply 只接受一个参数数组。 bind 和其他两个方法作用也是一致的,只是该方法会返回一个函数。并且我们可以通过 bind 实现柯里化。 如何实现一个 bind 函数 对于实现以下几个函数,可以从几个方面思考 如何实现一个call函数 如何实现一个apply函数 箭头函数其实是没有 this 的,这个函数中的 this 只取决于他外面的第一个不是箭头函数的函数的 this 。在这个例子中,因为调用 a 符合前面代码中的第一个情况,所以 this 是 window 。并且 this 一旦绑定了上下文,就不会被任何代码改变。 关于 let 的是否存在变量提升,我们何以用下面的例子来验证: let 变量如果不存在变量提升, console.log(name) 就会输出 ConardLi ,结果却抛出了 ReferenceError ,那么这很好的说明了, let 也存在变量提升,但是它存在一个“暂时死区”,在变量未初始化或赋值前不允许访问。 变量的赋值可以分为三个阶段: 关于 let 、 var 和 function : 依次输出:undefined -> 10 -> 20 答案: D colorChange 方法是静态的。静态方法仅在创建它们的构造函数中存在,并且不能传递给任何子级。由于 freddie 是一个子级对象,函数不会传递,所以在 freddie 实例上不存在 freddie 方法:抛出 TypeError 。 1.使用第一次push,obj对象的push方法设置 obj[2]=1;obj.length+=1 2.使用第二次push,obj对象的push方法设置 obj[3]=2;obj.length+=1 3.使用console.log输出的时候,因为obj具有 length 属性和 splice 方法,故将其作为数组进行打印 4.打印时因为数组未设置下标为 0 1 处的值,故打印为empty,主动 obj[0] 获取为 undefined undefined {n:2} 首先,a和b同时引用了{n:2}对象,接着执行到a.x = a = {n:2}语句,尽管赋值是从右到左的没错,但是.的优先级比=要高,所以这里首先执行a.x,相当于为a(或者b)所指向的{n:1}对象新增了一个属性x,即此时对象将变为{n:1;x:undefined}。之后按正常情况,从右到左进行赋值,此时执行a ={n:2}的时候,a的引用改变,指向了新对象{n:2},而b依然指向的是旧对象。之后执行a.x = {n:2}的时候,并不会重新解析一遍a,而是沿用最初解析a.x时候的a,也即旧对象,故此时旧对象的x的值为{n:2},旧对象为 {n:1;x:{n:2}},它被b引用着。后面输出a.x的时候,又要解析a了,此时的a是指向新对象的a,而这个新对象是没有x属性的,故访问时输出undefined;而访问b.x的时候,将输出旧对象的x的值,即{n:2}。 在比较相等性,原始类型通过它们的值进行比较,而对象通过它们的引用进行比较。 JavaScript 检查对象是否具有对内存中相同位置的引用。 我们作为参数传递的对象和我们用于检查相等性的对象在内存中位于不同位置,所以它们的引用是不同的。 这就是为什么 { age: 18 } === { age: 18 } 和 { age: 18 } == { age: 18 } 返回 false 的原因。 所有对象键(不包括 Symbols )都会被存储为字符串,即使你没有给定字符串类型的键。这就是为什么 obj.hasOwnProperty("1") 也返回 true 。 上面的说法不适用于 Set 。在我们的 Set 中没有 “1” : set.has("1") 返回 false 。它有数字类型 1 , set.has(1) 返回 true 。 这题考察的是对象的键名的转换。 catch 块接收参数 x 。当我们传递参数时,这与变量的 x 不同。这个变量 x 是属于 catch 作用域的。 之后,我们将这个块级作用域的变量设置为 1 ,并设置变量 y 的值。现在,我们打印块级作用域的变量 x ,它等于 1 。 在 catch 块之外, x 仍然是 undefined ,而 y 是 2 。当我们想在 catch 块之外的 console.log(x) 时,它返回 undefined ,而 y 返回 2 。

前端面试题系列之-CSS及页面布局篇

CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行排列、对齐和分配空白空间。可以用简单的方式满足很多常见的复杂的布局需求。它的优势在于开发人员只是声明布局应该具有的行为,而不需要给出具体的实现方式。浏览器会负责完成实际的布局。该布局模型在主流浏览器中都得到了支持。 采用flex布局的元素,成为flex容器。它的所有子元素自动成为容器成员,称为flex项目。常用的,设置到容器上的属性有: 设置到项目上的属性: (Block Formatting Context)块级格式化上下文。BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,反之也如此.并且在一个BFC中,块盒与行盒(行盒由一行中所有的内联元素所组成)都会垂直的沿着其父元素的边框排列。 上述方法都可以创建BFC,但是会带来一些负面影响: ::before是css3的写法,:before是css2的写法,用来设置对象前的内容 :before的兼容性要比::before好 更准确的说法 1、transition 是过渡,是样式值的变化的过程,只有开始和结束;animation 其实也叫关键帧,通过和 keyframe 结合可以设置中间帧的一个状态;     2、animation 配合 @keyframe 可以不触发时间就触发这个过程,而 transition 需要通过 hover 或者 js 事件来配合触发;     3、animation 可以设置很多的属性,比如循环次数,动画结束的状态等等,transition 只能触发一次;     4、animation 可以结合 keyframe 设置每一帧,但是 transition 只有两帧; 常规方法 不需要使用transform属性时 webkit内核 参考链接: CSS实现不换行/自动换行/文本超出隐藏显示省略号 object-fit CSS 属性指定可替换元素的内容应该如何适应到其使用的高度和宽度确定的框。这个CSS属性可以达到最佳最完美的居中自动剪裁图片的功能 @import规则一定要先于除了@charset的其他任何CSS规则。 不推荐使用@import: 因为浏览器的兼容的问题,不同浏览器有些标签的默认值是不同的,如果没有CSS初始化往往会出现浏览器之间的页面显示差异。 伪元素和伪类的区别总结 css继承指的是被包在内部的标签将拥有外部标签的样式性,即子元素可以继承父元素的属性。 相关链接: CSS 继承,哪些属性能继承,哪些不能 z-index可以改变元素层叠顺序,z-index较大的会叠加在z-index较小的元素上方。z-index值相同时,则按照文档流顺序,后面的覆盖前边的。 px就是pixel的缩写,意为像素。px就是一张图片最小的一个点,一张位图就是千千万万的这样的点构成的,比如常常听到的电脑像素是1024x768的,表示的是水平方向是1024个像素点,垂直方向是768个像素点。注意css中的1px并不一定是物理像素的一个像素块,需要根据DPR计算,对应多少物理像素块 设备像素比:dpr = 物理像素 / 逻辑像素(px),例如,iPhone6的dpr为2,物理像素750(x轴),则它的逻辑像素为375 参考物是父元素的font-size,具有继承的特点。如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值。 css3新单位,相对于根元素html(网页)的font-size,不会像em那样,依赖于父元素的字体大小,而造成混乱。 css3新单位,viewpoint width的缩写,视窗宽度,1vw等于视窗宽度的1%。举个例子:浏览器宽度1200px, 1 vw = 1200px/100 = 12 px。 1英寸(inch)=2.54厘米(cm) 手机对角线的长度换算成英寸 屏幕横向和纵向的像素点 1px即代表一个物理像素点/像素块 PPI,是每英寸可以显示的像素点的英文缩写。如果说上面分辨率是一个质量总量的概念,那么,ppi就是密度的概念。我们可以通过屏幕的像素总量除以屏幕大小来计算屏幕的PPI,公式如下: a:横向像素数量,b:纵向像素数量,c:屏幕尺寸(英寸) 1px与多少厘米之间是不能直接划等号的,需要看分辨率。 一般电脑的像素分辨率是72ppi,计算公式: (((1**2 + 1**2)**0.5)/72)*2.54 ,此时1px=0.0498cm,1cm=25px; 很多手机是300ppi,计算公式: (((1**2 + 1**2)**0.5)/300)*2.54 ,此时1px=0.0119cm。 参考链接: 画一条0.5px的线 在继承性上: 一开始针对低版本的浏览器构建页面,满足最基本的功能,再针对高级浏 览器进行效果,交互,追加各种功能以达到更好用户体验,换句话说,就是以最低要求,实现最基础功能为基本,向上兼容。以css为例,以下这种写法就是渐进增强。 一开始针对一个高版本的浏览器构建页面,先完善所有的功能。然后针对各个不同的浏览器进行测试,修复,保证低级浏览器也有基本功能 就好,低级浏览器被认为“简陋却无妨 (poor, but passable)” 可以做一些小的调整来适应某个特定的浏览器。但由于它们并非我们所关注的焦点,因此除了修复较 大的错误之外,其它的差异将被直接忽略。也就是以高要求,高版本为基准,向下兼容。同样以css为例,优雅降级的写法如下。 渐进增强,开发时间长,成本高,优雅降级,节约成本,开发周期短。

前端经典面试题(包含JS、CSS、React、浏览器等)

防抖 节流 误区:我们经常说get请求参数的大小存在限制,而post请求的参数大小是无限制的。 实际上HTTP 协议从未规定 GET/POST 的请求长度限制是多少。对get请求参数的限制是来源与浏览器或web服务器,浏览器或web服务器限制了url的长度。为了明确这个概念,我们必须再次强调下面几点: 补充补充一个get和post在缓存方面的区别: 可从IIFE、AMD、CMD、CommonJS、UMD、webpack(require.ensure)、ES Module、 vue和react都是采用diff算法来对比新旧虚拟节点,从而更新节点。在vue的diff函数中(建议先了解一下diff算法过程)。在交叉对比中,当新节点跟旧节点 头尾交叉对比 没有结果时,会根据新节点的key去对比旧节点数组中的key,从而找到相应旧节点(这里对应的是一个key => index 的map映射)。如果没找到就认为是一个新增节点。而如果没有key,那么就会采用遍历查找的方式去找到对应的旧节点。一种一个map映射,另一种是遍历查找。相比而言。map映射的速度更快。vue部分源码如下: 创建map函数 遍历寻找 在React中, 如果是由React引发的事件处理(比如通过onClick引发的事件处理),调用setState不会同步更新this.state,除此之外的setState调用会同步执行this.state 。所谓“除此之外”,指的是绕过React通过addEventListener直接添加的事件处理函数,还有通过setTimeout/setInterval产生的异步调用。 **原因:**在React的setState函数实现中,会根据一个变量isBatchingUpdates判断是直接更新this.state还是放到队列中回头再说,而isBatchingUpdates默认是false,也就表示setState会同步更新this.state,但是, 有一个函数batchedUpdates,这个函数会把isBatchingUpdates修改为true,而当React在调用事件处理函数之前就会调用这个batchedUpdates,造成的后果,就是由React控制的事件处理过程setState不会同步更新this.state 。 虚拟dom相当于在js和真实dom中间加了一个缓存,利用dom diff算法避免了没有必要的dom操作,从而提高性能。 具体实现步骤如下: 用 JavaScript 对象结构表示 DOM 树的结构;然后用这个树构建一个真正的 DOM 树,插到文档当中 当状态变更的时候,重新构造一棵新的对象树。然后用新的树和旧的树进行比较,记录两棵树差异 把2所记录的差异应用到步骤1所构建的真正的DOM树上,视图就更新了。 结构:display:none: 会让元素完全从渲染树中消失,渲染的时候不占据任何空间, 不能点击, visibility: hidden:不会让元素从渲染树消失,渲染元素继续占据空间,只是内容不可见,不能点击 opacity: 0: 不会让元素从渲染树消失,渲染元素继续占据空间,只是内容不可见,可以点击 继承:display: none:是非继承属性,子孙节点消失由于元素从渲染树消失造成,通过修改子孙节点属性无法显示。visibility: hidden:是继承属性,子孙节点消失由于继承了hidden,通过设置visibility: visible;可以让子孙节点显式。 性能:displaynone : 修改元素会造成文档回流,读屏器不会读取display: none元素内容,性能消耗较大 visibility:hidden: 修改元素只会造成本元素的重绘,性能消耗较少读屏器读取visibility: hidden元素内容 opacity: 0 :修改元素会造成重绘,性能消耗较少 联系:它们都能让元素不可见 常用的一般为三种 .clearfix , clear:both , overflow:hidden ; 比较好是 .clearfix ,伪元素万金油版本,后两者有局限性. clear:both :若是用在同一个容器内相邻元素上,那是贼好的,有时候在容器外就有些问题了, 比如相邻容器的包裹层元素塌陷 overflow:hidden :这种若是用在同个容器内,可以形成 BFC 避免浮动造成的元素塌陷 概念:将多个小图片拼接到一个图片中。通过 background-position 和元素尺寸调节需要显示的背景图案。 优点: 缺点: block 元素特点: 1.处于常规流中时,如果 width 没有设置,会自动填充满父容器 2.可以应用 margin/padding 3.在没有设置高度的情况下会扩展高度以包含常规流中的子元素 4.处于常规流中时布局时在前后元素位置之间(独占一个水平空间) 5.忽略 vertical-align inline 元素特点 1.水平方向上根据 direction 依次布局 2.不会在元素前后进行换行 3.受 white-space 控制 4. margin/padding 在竖直方向上无效,水平方向上有效 5. width/height 属性对非替换行内元素无效,宽度由元素内容决定 6.非替换行内元素的行框高由 line-height 确定,替换行内元素的行框高由 height , margin , padding , border 决定 7.浮动或绝对定位时会转换为 block 8. vertical-align 属性生效 GIF : JPEG : PNG : 七种数据类型 (ES6之前)其中5种为基本类型: string , number , boolean , null , undefined , ES6出来的 Symbol 也是原始数据类型 ,表示独一无二的值 Object 为引用类型(范围挺大),也包括数组、函数, 输出结果是: 工厂模式 简单的工厂模式可以理解为解决多个相似的问题; 单例模式 只能被实例化(构造函数给实例添加属性与方法)一次 沙箱模式 将一些函数放到自执行函数里面,但要用闭包暴露接口,用变量接收暴露的接口,再调用里面的值,否则无法使用里面的值 发布者订阅模式 就例如如我们关注了某一个公众号,然后他对应的有新的消息就会给你推送, 代码实现逻辑是用数组存贮订阅者, 发布者回调函数里面通知的方式是遍历订阅者数组,并将发布者内容传入订阅者数组 1.字面量 2.Object构造函数创建 3.使用工厂模式创建对象 4.使用构造函数创建对象 HTML中与javascript交互是通过事件驱动来实现的,例如鼠标点击事件onclick、页面的滚动事件onscroll等等,可以向文档或者文档中的元素添加事件侦听器来预订事件。想要知道这些事件是在什么时候进行调用的,就需要了解一下“事件流”的概念。 什么是事件流:事件流描述的是从页面中接收事件的顺序,DOM2级事件流包括下面几个阶段。 addEventListener : addEventListener 是DOM2 级事件新增的指定事件处理程序的操作,这个方法接收3个参数:要处理的事件名、作为事件处理程序的函数和一个布尔值。最后这个布尔值参数如果是true,表示在捕获阶段调用事件处理程序;如果是false,表示在冒泡阶段调用事件处理程序。 IE只支持事件冒泡 。 获取一个对象的原型,在chrome中可以通过__proto__的形式,或者在ES6中可以通过Object.getPrototypeOf的形式。 那么Function.proto是什么么?也就是说Function由什么对象继承而来,我们来做如下判别。 我们发现Function的原型也是Function。 我们用图可以来明确这个关系: 这里来举个栗子,以 Object 为例,我们常用的 Object 便是一个构造函数,因此我们可以通过它构建实例。 则此时, 实例为instance , 构造函数为Object ,我们知道,构造函数拥有一个 prototype 的属性指向原型,因此原型为: 这里我们可以来看出三者的关系: 在 JS 中,继承通常指的便是 原型链继承 ,也就是通过指定原型,并可以通过原型链继承原型上的属性或者方法。 在函数式编程中,函数是一等公民。那么函数柯里化是怎样的呢? 函数柯里化指的是将能够接收多个参数的函数转化为接收单一参数的函数,并且返回接收余下参数且返回结果的新函数的技术。 函数柯里化的主要作用和特点就是参数复用、提前返回和延迟执行。 在一个函数中,首先填充几个参数,然后再返回一个新的函数的技术,称为函数的柯里化。通常可用于在不侵入函数的前提下,为函数 预置通用参数 ,供多次重复调用。 call 和 apply 都是为了解决改变 this 的指向。作用都是相同的,只是传参的方式不同。 除了第一个参数外, call 可以接收一个参数列表, apply 只接受一个参数数组。 bind 和其他两个方法作用也是一致的,只是该方法会返回一个函数。并且我们可以通过 bind 实现柯里化。 如何实现一个 bind 函数 对于实现以下几个函数,可以从几个方面思考 如何实现一个call函数 如何实现一个apply函数 箭头函数其实是没有 this 的,这个函数中的 this 只取决于他外面的第一个不是箭头函数的函数的 this 。在这个例子中,因为调用 a 符合前面代码中的第一个情况,所以 this 是 window 。并且 this 一旦绑定了上下文,就不会被任何代码改变。 在函数中,我们首先使用 var 关键字声明了 name 变量。这意味着变量在创建阶段会被提升( JavaScript 会在创建变量创建阶段为其分配内存空间),默认值为 undefined ,直到我们实际执行到使用该变量的行。我们还没有为 name 变量赋值,所以它仍然保持 undefined 的值。 使用 let 关键字(和 const )声明的变量也会存在变量提升,但与 var 不同,初始化没有被提升。在我们声明(初始化)它们之前,它们是不可访问的。这被称为“暂时死区”。当我们在声明变量之前尝试访问变量时, JavaScript 会抛出一个 ReferenceError 。 关于 let 的是否存在变量提升,我们何以用下面的例子来验证: let 变量如果不存在变量提升, console.log(name) 就会输出 ConardLi ,结果却抛出了 ReferenceError ,那么这很好的说明了, let 也存在变量提升,但是它存在一个“暂时死区”,在变量未初始化或赋值前不允许访问。 变量的赋值可以分为三个阶段: 关于 let 、 var 和 function : 依次输出:undefined -> 10 -> 20 答案: D colorChange 方法是静态的。静态方法仅在创建它们的构造函数中存在,并且不能传递给任何子级。由于 freddie 是一个子级对象,函数不会传递,所以在 freddie 实例上不存在 freddie 方法:抛出 TypeError 。 1.使用第一次push,obj对象的push方法设置 obj[2]=1;obj.length+=1 2.使用第二次push,obj对象的push方法设置 obj[3]=2;obj.length+=1 3.使用console.log输出的时候,因为obj具有 length 属性和 splice 方法,故将其作为数组进行打印 4.打印时因为数组未设置下标为 0 1 处的值,故打印为empty,主动 obj[0] 获取为 undefined undefined {n:2} 首先,a和b同时引用了{n:2}对象,接着执行到a.x = a = {n:2}语句,尽管赋值是从右到左的没错,但是.的优先级比=要高,所以这里首先执行a.x,相当于为a(或者b)所指向的{n:1}对象新增了一个属性x,即此时对象将变为{n:1;x:undefined}。之后按正常情况,从右到左进行赋值,此时执行a ={n:2}的时候,a的引用改变,指向了新对象{n:2},而b依然指向的是旧对象。之后执行a.x = {n:2}的时候,并不会重新解析一遍a,而是沿用最初解析a.x时候的a,也即旧对象,故此时旧对象的x的值为{n:2},旧对象为 {n:1;x:{n:2}},它被b引用着。后面输出a.x的时候,又要解析a了,此时的a是指向新对象的a,而这个新对象是没有x属性的,故访问时输出undefined;而访问b.x的时候,将输出旧对象的x的值,即{n:2}。 在比较相等性,原始类型通过它们的值进行比较,而对象通过它们的引用进行比较。 JavaScript 检查对象是否具有对内存中相同位置的引用。 我们作为参数传递的对象和我们用于检查相等性的对象在内存中位于不同位置,所以它们的引用是不同的。 这就是为什么 { age: 18 } === { age: 18 } 和 { age: 18 } == { age: 18 } 返回 false 的原因。 所有对象键(不包括 Symbols )都会被存储为字符串,即使你没有给定字符串类型的键。这就是为什么 obj.hasOwnProperty("1") 也返回 true 。 上面的说法不适用于 Set 。在我们的 Set 中没有 “1” : set.has("1") 返回 false 。它有数字类型 1 , set.has(1) 返回 true 。 这题考察的是对象的键名的转换。 catch 块接收参数 x 。当我们传递参数时,这与变量的 x 不同。这个变量 x 是属于 catch 作用域的。 之后,我们将这个块级作用域的变量设置为 1 ,并设置变量 y 的值。现在,我们打印块级作用域的变量 x ,它等于 1 。 在 catch 块之外, x 仍然是 undefined ,而 y 是 2 。当我们想在 catch 块之外的 console.log(x) 时,它返回 undefined ,而 y 返回 2 。

如何定位CSS可以让左边框的长度随右边的内容增加而曾长?

一是在外面放个大盒子放背景图片解决,二是外面用一个table表格放背景色或边框线这就跟你自己的需要来设了,然后里面再套div就ok了

求CSS加遮罩的操作方法

具体解决方案如下: 一、IE和FF下document.body对象的clientHeight,offsetHeight,scrollHeight属性的差别。 clientHeight 在IE和FF下,该属性没什么差别,都是指浏览器的可视区域,即除去浏览器的那些工具栏状态栏剩下的页面展示空间的高度。 offsetHeight 在IE下,offsetHeight也是浏览器可视区域的高(包括边线) 在FF下,offsetHeight是页面具体内容的高度 scrollHeight 在IE下,scrollHeight 是页面具体内容的高度,可以小于clientHeight 在FF下,scrollHeight 是网页内容高度,不过最小值是clientHeight 二、下面是跨浏览器取得当前页面的高度的解决方法。 复制代码 代码如下:function getPageSize() { var body = document.documentElement; var bodyOffsetWidth = 0; var bodyOffsetHeight = 0; var bodyScrollWidth = 0; var bodyScrollHeight = 0; var pageDimensions = [0,0]; pageDimensions[0]=body.clientHeight; pageDimensions[1]=body.clientWidth; bodyOffsetWidth=body.offsetWidth; bodyOffsetHeight=body.offsetHeight; bodyScrollWidth=body.scrollWidth; bodyScrollHeight=body.scrollHeight; if(bodyOffsetHeight > pageDimensions[0]) { pageDimensions[0]=bodyOffsetHeight; } if(bodyOffsetWidth > pageDimensions[1]) { pageDimensions[1]=bodyOffsetWidth; } if(bodyScrollHeight > pageDimensions[0]) { pageDimensions[0]=bodyScrollHeight; } if(bodyScrollWidth > pageDimensions[1]) { pageDimensions[1]=bodyScrollWidth; } return pageDimensions; }三、页面上必须放置一个div,作为遮罩层,下面是这个遮罩层的css样式。 复制代码 代码如下:.lockDiv { position:absolute; left:0; top:0; height:0; width:0; border:2 solid red; display:none; text-align:center; background-color:#DBDBDB; filter:Alpha(opacity=60); }四、在客户端使用下面的javascript用遮罩层将整个页面封闭。 复制代码 代码如下:var sandglassSpan = 1; var timeHdl; function DisablePage() { var ctrlSandglass = document.getElementById("divSandglass"); if(sandglassSpan==0) { window.clearTimeout(timeHdl); ctrlSandglass.style.display = "none"; document.body.style.cursor = "auto"; sandglassSpan = 1; } else { document.body.style.cursor = "wait"; var pageDimensions = getPageSize(); ctrlSandglass.style.top = 0; ctrlSandglass.style.left = 0; ctrlSandglass.style.height = pageDimensions[0]; ctrlSandglass.style.width = pageDimensions[1]; ctrlSandglass.style.display = "block"; timeHdl = window.setTimeout(DisablePage,200); } }五、如果页面上使用了ASP.net的Validator控件,那么应该使用如下的javascript。 复制代码 代码如下:var sandglassSpan = 1; var timeHdl; function DisablePageHaveValidator() { var ctrlSandglass = document.getElementById("divSandglass"); if(false == Page_IsValid) { sandglassSpan = 0; } if(sandglassSpan==0) { window.clearTimeout(timeHdl); ctrlSandglass.style.display = "none"; document.body.style.cursor = "auto"; sandglassSpan = 1; } else { document.body.style.cursor = "wait"; ctrlSandglass.style.display = "block"; var pageDimensions = getPageSize(); ctrlSandglass.style.top = 0; ctrlSandglass.style.left = 0; ctrlSandglass.style.height = pageDimensions[0]; ctrlSandglass.style.width = pageDimensions[1]; timeHdl = window.setTimeout(DisablePageHaveValidator, 200); } }

下拉菜单的制作方法,要CSS代码的。

朋友:把以下代码插入到你的空间CSS代码里.#m_comment{overflow-y:auto;height:156px}-------------------------(#m_comment)这个你要用那个模块做下拉菜单就换上那个模块的前部代码.高度自己可以修改.

CSS中是什么作用的?

一般用于两种情况,一种是2列的,一种是1列的..自己把代码弄到浏览器里试试就知道了..2列的情况w3c建议该标签用于数据定义或者产品描述.例如:<!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"><head><meta http-equiv="Content-Type" content="text/html;charset=gb2312" /><title>dl,dt,dd</title><style type="text/css"> #detail{ width:140px; float:left; border:1px solid #ccc; padding:40px; } #detail dt{ float:left; margin-bottom:20px; } #detail dd{ float:left; margin-bottom:20px; }</style></head><body> <dl id="detail"> <dt>价格:</dt> <dd>333</dd> <dt>产地:</dt> <dd>河南</dd> </dl></body></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"><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /><title>dl,dt,dd</title><style type="text/css"> #menu dl {width: 150px; margin: 0 auto; padding: 0 0 10px 0; background: #69c; } #menu dt {margin:0; padding: 0px; font-size: 1.4em; font-weight:bold; color: #fff; border-bottom:1px solid #fff; background: #69c;} #menu dd {margin:0; padding:0; color: #fff; font-size: 1em; border-bottom:1px solid #fff; background: #47a;} #gallery a, #gallery a:visited {color:#fff; text-decoration:none; display:block; padding:5px 5px 5px 20px; background: #47a 10px 10px; width:125px; } #gallery a:hover { background: #258; color:#9cf;} </style></head><body><div id="menu"><dl id="gallery"><dt>Gallery</dt><dd><a href="#" title="Paul Cezanne">Paul Cezanne</a></dd><dd><a href="#" title="Henri Matisse">Henri Matisse</a></dd><dd><a href="#" title="Vincent van Gogh">Vincent van Gogh</a></dd><dd><a href="#" title="William Turner">William Turner</a></dd><dd><a href="#" title="John Constable">John Constable</a></dd><dd><a href="#" title="Claude Monet">Claude Monet</a></dd></dl></div></body></html>

在CSS中定义下拉菜单的代码

overflow:hidden;

关於用CSS设置table ,td的border 问题,请教朋友们,谢谢了!

将 border-collapse:collapse 样式放在td 里面

若想将图像设置一种线性透明的效果,如何使用css实现?

透明可以,线性真没见过,期待css3吧

dreamweaver怎样创建新的CSS规则

步骤/方法1双击dreamweaver CS5图标2在菜单中单击“文件”选择“新建”3在新建文档窗口,选择“空白页”—“HTML”,文档类型选择“XHTML1.0 transitional”,单击“创建”按钮。4将插入点放在文档中,然后在菜单栏单击“格式”,在弹出的下拉菜单中选择“CSS样式”—“新建”5在“ 新建 CSS 规则” 对话框中,指定要创建的 CSS 规则的选择器类型:若要创建一个可作为 class 属性应用于任何 HTML 元素的自定义样式,请从“ 选择器类型” 弹出菜单中选择“ 类” 选项,然后在“ 选择器名称” 文本框中输入样式的名称。若要定义包含特定 ID 属性的标签的格式,请从“选择器类型”弹出菜单中选择“ID”选项,然后在“选择器名称”文本框中输入唯一 ID。若要重新定义特定 HTML 标签的默认格式,请从“选择器类型”弹出菜单中选择“标签”选项,然后在“选择器名称”文本框中输入 HTML 标签或从弹出菜单中选择一个标签。6在“CSS规则定义”窗口中设置类型、背景、区块、方框、边框、列表、定位、护展中所需设置的参数,然后点击“确定”按钮完成设置。7还可以在CSS样式面板里设置。将插入点放在文档中,在CSS样式面板下面单击“新建CSS规则”图标。再完成步骤6的设置。8在CSS属性里设置类型、背景、区块、方框、边框、列表、定位、护展中所需设置的参数。http://jingyan.baidu.com/article/93f9803fccd4dae0e46f5505.html

求css样式里 “规则定义”的 英语翻译

Rules define

html转成jsp之后,部分css失效,加了这个

这个与CSS无关

vs code css formatter怎么用

VSCode是微软推出的一款轻量编辑器,采取了和VS相同的UI界面,搭配合适的插件可以优化前端开发的体验。布局:左侧是用于展示所要编辑的所有文件和文件夹的文件管理器,依次是`资源管理器`,`搜索`,`GIT`,`调试`,`插件`,右侧是打开文件的编辑区域,最多可同时打开三个编辑区域到侧边。底栏:依次是`Git Branch`,`error&warning`,`编码格式`等。

我学了CSS、javascript、HTML、jQuery,现在想要做一个简单的网页,求帮助?

首先 你做一个登录界面是不 帐号密码是不是得到后台去验证呢(后台就是处理你登录界面传过去的值的程序) 那么说到后台了 你得会 asp 或者php或者java等等动态网页语言是不 或者说 你不需要验证 那么就用一个from 把action设置成你要跳转的页面就成 然后 你说要显示微博的api接口 就拿新浪微博的接口来说吧 新浪微博的接口 复杂的需要去获取App Key 简单的就是插入一个iframe 代码是 <iframe width="100%" height="500" frameborder="0" scrolling="no" src="http://widget.weibo.com/livestream/listlive.php?language=zh_cn&width=0&height=500&uid=2118420967&skin=1&refer=1&appkey=&pic=0&titlebar=1&border=1&publish=1&atalk=1&recomm=0&at=0&dpc=1"></iframe>具体的功能你得到开放平台去看下 http://open.weibo.com/livestreamset.php注意的 这个还真没什么注意的 只要你自己写的自己认得出来就行 出bug就慢慢调试

用compass编译sass,进入目录后执行compass watch 后然后书写scss文件却没有进行编译,这是怎么回事呢?

您好,这样的:Sass的安装:1.安装:SASS是Ruby语言写的,但是两者的语法没有关系。不懂Ruby,照样使用。只是必须先安装Ruby,然后再安装SASS。假定你已经安装好了Ruby,接着在命令行输入下面的命令:gem install sass然后,就可以使用了。2:使用:SASS文件就是普通的文本文件,里面可以直接使用CSS语法。文件后缀名是.scss,意思为Sassy CSS。SASS提供两种编译方式,一种是手动编译,一种是监视编译(–watch),手动编译就是当你撰写好CSS时下指令去做编译,监视编译则是你指令一个目录,当此目录里面的*.scss档案有改变时(新增、覆写等等),就会自动去做编译的动作。先来讲手动编译方式:下面的命令,可以在屏幕上显示.scss文件转化的css代码。(假设文件名为test。)  sass test.scss如果要将显示结果保存成文件,后面再跟一个.css文件名。  sass test.scss test.cssSASS提供四个编译风格的选项:* nested:嵌套缩进的css代码,它是默认值。* expanded:没有缩进的、扩展的css代码。* compact:简洁格式的css代码。* compressed:压缩后的css代码。生产环境当中,一般使用最后一个选项。  sass –style compressed test.sass test.css还有一种监视的方式做编译,在命令行中切换到当前sass或者scss文件所在的目录,然后运行sass –watch scss:cssSASS的官方网站,提供了一个在线转换器。你可以在那里,试运行下面的各种例子。Compass的安装:1.安装:安装ruby之后,输入命令gem install compass2.使用:创建一个 COMPASS 项目在命令行中切换到你需要创建项目的目录,运行:compass create "projectname"这个命令会创建一个包含一系列文件的目录,其中最重要的是配置文件 config.rb,其他文件如果你不需要都可以删除。在 config.rb 中你可以修改 SASS 和 CSS 的目录及其它一些基础设置。实时编译 SASS 文件COMPASS 提供的默认方法是:在命令行下切换到项目目录,运行compass watchCOMPASS 将会实时监控 SASS 目录的文件变化,只要你一保存文件,立即将相应文件编译为 CSS 文件。

AZURE这个平台的性质是境外的还是国内的 是正规交易所吗?它的前身CSS做了什么?希望能获得您的帮助谢谢

这个平台到底合法么

less样式如何使用cssmodule

CSS的规则都是全局的,任何一个组件的样式规则,都对整个页面有效。产生局部作用域的唯一方法,就是使用一个独一无二的class的名字,不会与其他选择器重名。 CSS Modules是通过哈希算法将类名编译,保证类名的唯一性。

如何评价 CSS Modules?

CSS Modules 的优点主要是:零学习成本消灭全局变量和冲突(Hacker News 中有一个评论提到这个解决方式与 C++ 编译器的 Name mangling 非常相似)简单且易于调试的 composes 语法对已有样式库及插件的良好支持所有处理均在编译期完成缺乏 Dead Code Elimination 的好方法可能是需要改进的部分之一。另外如果 composes 太多,输入相对路径很麻烦,那不妨设置一些 webpack alias。另外今天在飞机上听了一期 React Podcast [1],嘉宾是在 React Europe 做 inline-styles talk 的 Michael Chan。嘉宾们诚实的列出了 inline-styles 的很多问题(比如对 pseudo-class 的支持缺乏等等),也表示在实际项目中的应用还是比较克制的。我觉得 inline-styles、Radium 和 CSS Modules 都是非常棒的思路和探索;也许每一种方案都不是银弹,但都是值得研究和改进的。CoffeeScript 现在一点都不酷了,但若没有它 ES6 可能也不会长成现在这样。这个圈子里没有什么 BDFL,或者说语言和工具的实现很大程度上是由社区主导的。对我来说这是 UI Engineering 这个社区最有趣的地方。

css如何全站反色

主要是给html标签加个样式:代码如下html { -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: grayscale(100%); filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);}filter CSS 属性将模糊或颜色偏移等图形效果应用于元素。滤镜通常用于调整图像,背景和边框的渲染。CSS 标准里包含了一些已实现预定义效果的函数。你也可以参考一个 SVG 滤镜,通过一个 URL 链接到 SVG 滤镜元素 (SVG filter element[1])。

求css灰度各大浏览器的兼容写法

webkit类浏览器谷歌chrome、苹果safari-webkit-filter: grayscale(100%); 火狐-moz-filter: grayscale(100%); ie8-ms-filter: grayscale(100%); opera-o-filter: grayscale(100%); iefilter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);

CSS怎么使网页全部变成灰色

这个问题很沉重html {filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);-webkit-filter: grayscale(100%);}

如何用css将页面变成灰色

哇,你这个问题的方向好大,你想怎么变,怎么个变法? 是将整个页面啊 还是背景啊 还是。。。。。。

css中怎么把照片调为灰度

滤镜

css3网页灰色代码

css3网页灰色代码如下。1、html{。2、filter:grayscale(100%)。3、-webkit-filter:grayscale(100%)。4、-moz-filter:grayscale(100%)。5、-ms-filter:grayscale(100%)。6、-o-filter:grayscale(100%)。7、filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)。8、-webkit-filter:grayscale(1)。9、}。

css3圆环旋转效果动画怎么做

设置ritateZ的值就可以了

vs中 html 用css设置textarea的边框样式

成圆滑的角 在 IE6 不兼容 border

如何用纯css实现一个动态画圆环效果

html结构如下:<div class="wrap"><div class="circle"></div><div class="top"></div><div class="bottom"></div></div>实现的思路就是:1. 首先定义外层容器大小,本例采用200x200, .wrap{ position: relative; width: 200px;height: 200px; }2. 通过border-radius画一个圆环,这个比较简单.circle{height: 100%;box-sizing: border-box;border: 20px solid red;border-radius: 50%;}效果如下:2. 然后用上下两层挡板遮住这个圆环,通过旋转挡板将圆环慢慢露出,过程如下图所示:通过将下层挡板旋转180deg就能够实现将下半圆慢慢画出的效果,画完以后就需要将其隐藏起来,那该如何实现呢?这里我用了opacity这个属性,当100%时将其设置为0,同时设置animation-fill-mode: forwards;这样就隐藏了0%{transform: rotate( 0 );}99%{transform: rotate( 180deg );opacity: 1;}100%{transform: rotate( 180deg );opacity: 0;}3. 那如何显示上半圆呢?同样的思路我们对上面挡板进行旋转,通过实际效果我们可以看到,虽然上半圆露出来了,但是确把下半圆给遮挡了。如何解决这个问题呢?我们可以在下半圆和挡板间再放一个半圆,同时设置他们的z-index,让上面的挡板旋转时被下半圆遮住,这样就可以了。说的有些复杂,相当于我们现在有四个元素:上挡板,下挡板,底部的大圆环,一个处在下挡板和大圆环间的半圆。它们的z-index如下:上挡板:1下挡板和底部的大圆间的半圆:2下挡板:3为了不增加额外的元素,下挡板和底部的大圆间的半圆我们通过伪元素来实现.circle:before{content: "";position: absolute;display: block;width: 100%;height: 50%;box-sizing: border-box;top: 50%;left: 0;border: 20px solid red;border-top: transparent;border-radius: 0 0 50% 50%/ 0 0 100% 100%;z-index: 2;}4. 组后再结合css3的transform动画就可以了,需要注意的是,上挡板和下挡板动画是同时开始了,所以上挡板的动画要设置一个延时,时长就是下挡板动画的时长本例用到的知识点如下:1. 如何画一个圆环2. 如何画一个半圆3. css3动画4. 定位最终代码如下:<!DOCTYPE html><html><head><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta http-equiv="content-type" content="text/html;charset=utf-8"><title>动态画一个圆环</title> <style> *{ margin: 0; padding: 0; } .wrap{ position: relative; width: 200px;height: 200px; }.circle{height: 100%;box-sizing: border-box;border: 20px solid red;border-radius: 50%;}.circle:before{content: "";position: absolute;display: block;width: 100%;height: 50%;box-sizing: border-box;top: 50%;left: 0;border: 20px solid red;border-top: transparent;border-radius: 0 0 50% 50%/ 0 0 100% 100%;z-index: 2;}.top, .bottom{position: absolute;left: 0px;width: 100%;height: 50%;box-sizing: border-box;background: white;}.top{top: 0;z-index: 1;transform-origin: center bottom;animation: 1s back-half linear 1s;animation-fill-mode: forwards;}.bottom{z-index: 3;top: 50%;transform-origin: center top;animation: 1s front-half linear;animation-fill-mode: forwards;}@keyframes front-half{0%{transform: rotate( 0 );}99%{transform: rotate( 180deg );opacity: 1;}100%{transform: rotate( 180deg );opacity: 0;}}@keyframes back-half{0%{transform: rotate( 0 );}99%{transform: rotate( 180deg );opacity: 1;}100%{transform: rotate( 180deg );opacity: 0;}} </style></head><body><div class="wrap"><div class="circle"></div><div class="top"></div><div class="bottom"></div></div></body></html>

div css圆角边框怎么设置

border-radius:10px;数字越大圆边角越明显

css能实现这样的内凹圆角吗?如何实现?具体代码是!!

比较笨的方式,截图以及代码具体如下。<html> <head> <meta charset="utf-8"/> <title></title> <style type="text/css"> .cro{ width: 100px; height: 100px; border: 1px solid #58C4E6; position: relative; } .cro_left_top,.cro_right_top,.cro_left_bottom,.cro_right_bottom{ position: absolute; width: 20px; height: 20px; border: 1px solid #fff; z-index: 1; background: #fff; } .cro_left_top{ top: -1px; left: -1px; border-radius:0px 0px 20px 0px; border-bottom: 1px solid #58C4E6; border-right: 1px solid #58C4E6; } .cro_right_top{ top: -1px; right: -1px; border-radius:0px 0px 0px 20px; border-bottom: 1px solid #58C4E6; border-left: 1px solid #58C4E6; } .cro_left_bottom{ left: -1px; bottom: -1px; border-radius:0px 20px 0px 0px; border-top: 1px solid #58C4E6; border-right: 1px solid #58C4E6; } .cro_right_bottom{ right: -1px; bottom: -1px; border-radius:20px 0px 0px 0px; border-top: 1px solid #58C4E6; border-left: 1px solid #58C4E6; } </style> </head> <body> <div class="cro"> <div class="cro_left_top"></div> <div class="cro_right_top"></div> <div class="cro_left_bottom"></div> <div class="cro_right_bottom"></div> </div> </body></html>

CSS 边框如何变成圆角

border-radius: 50%

css3 怎么实现border-image圆角的问题

给图片设置border-radius

用css代码怎么把table的边框变成圆角的。求大神解答

border-collapse: separate;border-spacing: 0;在table中加上这个属性, 再在设置 边框属性border-radiustable{border-collapse: separate;border-spacing: 0;}td{border-radius:10px;}

怎样用css写出圆形边框

photoshop

现在可以用border-radius做出向外的圆角,怎么用css或者js让div或者图片的边角向内倒圆角???

如果要向内倒圆角,只能用图片

css3中用border-radius画出的圆在手机中为什么会有毛边

加一个overflow:hidden就可以了
 首页 上一页  4 5 6 7 8 9 10 11 12  下一页  尾页