前端优化工作中要考虑的元素多种多样,而合理地使用CSS脚本可以在很大程度上优化页面的加载性能,以下我们就来浅谈CSS在前端优化中一些值得注意的关键点: 当谈到Web的“高性能”时,很多人想到的是页面加载时间,但其实性能不仅仅是指加载时间,还包括浏览器性能.网络性能.开发效率.在Web前端开发中,性能是一个非常重要的需要考虑的点.本文将介绍一些开发原则和性能准则,这些都是提高Web前端性能的基础. 1. 开发原则 1.1 编写符合当代浏览器性能的代码如果想提高前端性能,就必须理解浏览器的工作原理,…
为什么要CSS模块化? 你是否为class命名而感到苦恼? 你是否有怕跟别人使用同样class名而感到担忧? 你是否因层级结构不清晰而感到烦躁? 你是否因代码难以复用而感到不爽? 你是否因为common.css的庞大而感到恐惧? 如果有,恭喜你来对了地方!本文会为您一一解决这些难题! 那么如何解决CSS命名问题? 我们看一下CSS是怎么规范的:使用有意义的或通用的ID和class命名.ID和class的命名应反映该元素的功能或使用通用名称,而不要用抽象的晦涩的命名.反映元素的使用目的是首选:使用…
CSS 自诞生以来,基本语法和核心机制一直没有本质上的变化,它的发展几乎全是表现力层面上的提升.最开始 CSS 在网页中的作用只是辅助性的装饰,轻便易学是最大的需求:然而如今网站的复杂度已经不可同日而语,原生 CSS 已经让开发者力不从心. 当一门语言的能力不足而用户的运行环境又不支持其它选择的时候,这门语言就会沦为 “编译目标” 语言.开发者将选择另一门更高级的语言来进行开发,然后编译到底层语言以便实际运行. 于是,在前端领域,天降大任于斯人也,CSS 预处理器应运而生.而 CSS 这门古老的…
正如各位所知道的一样,css是一门标记性语言,语法相对简单,对使用者的要求也比较低 .不过可乐不知道友友们有没有发现,在使用css的时候需要书写大量看似没有逻辑的代码,不方便维护及扩展,不利于复用,尤其对于一些缺乏css编写经验的猿猿来讲,写出组织良好且易于维护的 CSS 代码是相当困难的一件事情.这个时候呢,可乐悄悄地告诉你们,咱们的程序员蜀黍是无所不能的,针对这个调皮的css,专门开发了less语言.那么,就由可乐来细细为你们介绍这一个新朋友吧~~~ 一.less简介: 1.less语言是在…
什么是position,根据css 2.1中的描述,position和float的值决定了浏览器要采用那种定位算法来计算元素盒子的具体位置.先避开float不谈,本文主要介绍position属性的不同取值并对相对定位(relative)和绝对定位(absolute)进行一个简单的比较. 5种不同的取值 inherit 顾名思义,元素的position属性值从该元素的父元素继承而来,即与父元素相同. static position属性的默认值. 被应用了position:static的元素,会根据…
css中的盒模型是css的基础,盒模型的理解可以帮助我们进行对样式进行修改.废话不多说,进入正题: 在w3c中,CSS 框模型 (Box Model) 规定了元素框处理元素内容.内边框.边框 和 外边框 ,一个盒模型如图: 其中包含了两种盒子: 标准模式:盒子的宽高只有内容的宽高 此时的css设置为: box-sizing:content-box 另外一种是ie模式:盒子的宽高=内容(content)+填充(padding)+边框(border)的总宽高 此时的css设置为: box-sizin…
[摘要]盒子模型是CSS中的一个重要概念,虽然CSS中没有盒子这个单独的属性对象,但它却是CSS中无处不在的一个重要组成部分.掌握盒子模型的原理和使用方法可以极大地丰富HTML元素的表现效果,同时对于整个HTML文档的布局也会产生很大的帮助和促进.本文尝试在介绍CSS盒子模型基本概念和组成元素属性的基础上,结合个人学习经验对其在网页制作中的实际应用谈一谈自己浅显的观点和看法.[关键词]盒子模型:表现效果:网页布局: CSS是Cascading Style Sheets的缩写,中文意思是层叠样式表…
css中的::after和::before已经被大量地使用在我们日常开发中了,使用他们可以使我们的文档结构更加简洁.但是很多人对::after和::before仍不是特别了解,究竟他们是做什么的?如何使用他们?什么时候应该使用他们?笔者总结了一些对伪元素的理解和使用经验. 一.概念: 1.定义 The CSS ::before(::after) pseudo-element matches a virtual first(last) child of the selected element.…
栅格布局想必大家都很了解,我们做页面开发的时候,往往对页面板式的要求很高,如何对各个区域的内容排版,并使之对齐是我们的一大难题.而栅格系统就是我们排版的利器,他支持自动对齐.自动计算边距.流式布局等优点,简单好用的特性使得栅格布局成为所有主流框架的必备的功能. 我们简单分析一下栅格布局的原理: 容器/行/列/栅间距 一个栅格布局需要3部分组成--容器(container),行(row),列(column,也可称为栅).容器是用于确定宽度的,行需要放到容器中:行是将列分组,并把一组列合并为一个行:…
今天简单写一点关于浏览器兼容的处理方法,虽然百度上已经有很多,但是我还是要写! 先看一个图 这个图描述了2016年1月至8月网民们所使用的浏览器市场份额(来源:http://tongji.baidu.com/data/browser).令我感到欣慰的是chrome排第一,chrome一直以来对W3C标准都支持得比较友好,但是图中也反映了使用IE系列的人数也不少,所以我们日常做前端开发的时候还要考虑他们的感受. 以下是正文: 我的前任公司做前端的时候,要求兼容IE8及以上,谷歌,火狐三座大山.因为…
我觉得吧,css如果不考虑浏览器的兼容问题的话,最让人头疼的应该就是position了,反正我是这么觉得的,为了能基本上搞清楚position的几种情况,我找了一些资料,做了一个小实验,下面是实验的过程,整理一下和大家分享. 这是 w3school上对 position 的几种值的描述: 对于 static . fixed 和 inherit 就不多啰嗦了,相对简单点. 首先要准备几个元素做对比用: <div id="div1"> <h3>div1</h3…
在我们网页上的每一个元素,一个按钮,一段文本,一张图片等等,浏览器都将它们当做一个“盒子”看待,并把这样的盒子称为盒模型(box model).使用Chrome的右键>审查元素对某个网页上的元素,就可得到类似这样一张图,这就是盒模型的缩影了. 组成盒模型主要是这几个要素:外边的外边距margin.中间的边框border.里边的内边距padding,再往里就是包围元素实体的宽.高.在padding这个块里面,包括实体元素的宽高,就是背景background横行的地方,一般我们所添加的背景图片.背景…
在No.4中谈及了下盒子模型,引出布局模型 1.布局模型有三类: 1)流动模型  flow(默认) 2)浮动模型  float 3)层模型  layer 2.文档流 :指的是文本沿着从左到右的方向展开,就像流的形式 脱离文档流指的是一个元素脱离文档流之后,其他元素在定位的时候会当作没发现它,两者的位置重叠都是可以的 HTML的布局机制就是用文档模型的,即块元素独占一块 3.对于CSS的浮动float问题 查阅一些资料解释 弄清楚了些  先加个链接 这个对浮动问题总结的比较好http://www.…
css如何垂直居中一个元素的问题已经是一个老生常谈的问题了.不管对于一个新手或者老手,在面试过程中是经常被问到的.前两天在看一个flex的视频教程,当中提到了有关元素的居中问题,所以今天小编就来扒一扒几种常见的方式.不足之处请大家批评指正(所有的代码都是自己亲手敲过可用的) 1.水平居中(margin:0 auto;) 关于这个,大家应该是最不陌生的,不管是在培训班还是自己自学的话 .这个应该是老师讲的第一个方法了(水平方向上),但是其有一个前提,就是被包裹的元素不能有浮动的属性.否则的话这个属…
要介绍css的float浮动属性,就必须先了解一下标准文档流 标准文档流:   在没有css的干预下,块级元素独占一行,可以设置宽高,行内元素并排显示,宽高自动填充.   HTML页面的标准文档流(默认布局)是:从上到下,从左到右,遇块(块级元素)换行. float浮动属性最开始的用法是实现让目标内容被文字包裹这种在报纸上经常见到的情况,而后来大多被用来实现内容的横向并排排列, 浮动层:给元素的float属性赋值后,就是脱离文档流,进行左右浮动,紧贴着父元素(默认为body文本区域)的左右边框.…
对于刚刚学习网页前台设计的同学一定对图片的处理非常苦恼,那么这里简单的讲解一下几个图片处理的实例. 以.net为平台,微软的Visual Studio 2013为开发工具,当然前台技术还是采用CSS3和HTML,Java的小伙伴不要绕道~~~ 言归正传,那么我们首先要完成什么样的图片处理呢? 一.CSS3图片的放大 css3中,有一个属性transform,官方的解释是:允许向元素应用2D或3D的转换.这些转换当然就包含旋转.缩放.移动或倾斜了.有兴趣的同学可以继续了解http://www.w3…
1.流动模型 HTML元素在默认情况下都是按照"流动模型"进行布局的,网上也有人称之为"普通流"."文档流"之类的.这种布局模式的特点在于: 块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布 内联元素都会在所处的包含元素内从左到右水平分布显示   2.层模型 如上图,网页呈现的内容,就像PS中的图层一样,是多层重叠呈现的效果,当然,一般情况下我们的网页只有一层,因为任何元素在默认情况下是不能浮动的.但是脱离了"普通流"…
元素类型 在CSS中,HTML标签元素分为三种类型: 块状元素 内联元素(也叫行内元素) 内联块状元素 它们之间的区别在于: 块级元素会独占一行,内联元素和内联块状元素则都会在一行内显示 块状元素和内联块状元素可以设置宽高,而内联元素则不行 块状元素默认宽度为父容器的100%,内联块状元素的默认宽度则根据内容决定 可以看出,块级元素和内联元素的区别主要在 "是否能够独立设置宽高" 以及 "是否独占整行",而内联块状元素则综合了两者的特性,在行内显示且可以设置宽高.…
有很多时候,我们都会用到浮动,而我们有时候对浮动只是一知半解,却不是太清楚它到底是怎么回事,不知道各位有没有和我一样的感觉,只知道用它,却不知道它到底是怎么回事,所以,在学习的过程中,就要把一个概念不是很清晰的问题把它弄清楚了,便于我们以后的使用.早些时候,W3C规定出来的浮动实际并不是为了布局所用,当时是为了做文字环绕才使用到浮动,后来有人发现用它来做布局也挺不错啊,但是,用到了浮动,是要付出一定的代价的,我们就必须要处理浮动所带来的影响.接下来我们就聊聊浮动的那些事儿,此分享仅供参考,有什么…
我们进网站浏览时经常看到当鼠标悬浮在图片上或者某一个地方时,会出现一层朦胧现象覆盖着悬浮位置,简单的理解为“蒙版效果”.下面简单列举实现过程: HTML: CSS:…
在 css中, position 属性有四个值可用: static(默认值).absolute.relative.fixed. relative:相对定位(相对于自身进行在常规流中的位置进行定位,保留自身原始的位置) absolute: 1.相对于自身的包含块定位: 2.寻找包含块的规则:从自身网上寻找祖先元素,寻找到的第一个position为非static修饰的祖先元 素的内边距边界 就是当前绝对定位元素的包含块:如果没有的话,则相对于 html进行定位: 3.完全脱离文档流: 4.displ…
着重写一下after和before的用法: css样式搞定:标签元素+伪类after a.'class名':after{//我的样式名称是这个,可以写成你自己的样式名称 content: '已打包'; display: inline-block; min-width: 10px; padding: 3px 7px; margin-left: 2px; font-size: 12px; font-weight: bold; color: #fff; line-height: 1; vertical…
1,静态定位(static) 表示按照正常定位方案,元素盒按照在文档流中出现的顺序依次格式化: 2,相对定位(relative) 将移动元素盒,但是它在文档流中的原始空间会保留下来: 相对定位元素有如下几个基本特征: 1,.使用CSS样式规则{position: relative:}声明: 2.使用一个到多个偏移属性(top.right.bottom.left)相对于它们在正常文档流中的初始位置定位.没有 设置偏移属性的,默认被设置为auto: 3.在文档流中所占据的原始空间被保留: 4.可能会…
在我们的工作学习中,大多数人使用列表标签的时候总一般的选择是把list-type设置成none.不过可能很多人对于这个属性的细节并没有很深的了解.甚至会把list-type和list-type-style混淆.那么,今天我们就来看看css的这个属性的一些细节. list-type定义:用于在一个声明中设置一个列表的所有属性的简写属性,该属性是一个简写属性,涵盖了所有其他列表样式属性,仅作用于具有display值等于list-item的对象(如li对象). 这个属性有:1.list-type-im…
一.简介 Web前端模块化:HTML模块化.CSS模块化以及JS模块化三个部分: 二.CSS模块化背景 对于小型项目来说,css的量还不至于庞大,问题没有凸显,而如果要开发和持续维护一个较为大型的项目,那就需要对css进行管理和规范了,否则会发生不可挽回的后果(吓唬谁呢??). .dossierList-Head{ width: %; height: %; margin-left: %; margin-right: %; display: flex; justify-content: space…
一.PNG.GIF.JPG图片对比 在我们进行图像优化技术前,需要学习有关的图片格式的一些技术细节,每个图形格式都有自己的优势和拖弱点,知道他们会使你得到更好的视觉质量和压缩品质. 网页图片优化是网页加速中非常重要的一步,对图片进行压缩,不仅能够节约带宽,并且加快网页的速度,我们常用的图片编辑软件可以在压缩图片. PNG-8的高压缩比 切图时,有时选择PNG-8可以获得更高的压缩比,注意,是PNG-8,不是PNG-24,不过有些情况下还是GIF或JPG会小一些,需要根据实际情况调试以选择最佳方案…
px是你屏幕设备物理上能显示出的最小的一个点,这个点不是固定宽度的,不同设备上点的长宽.比例有可能会不同.假设:你现在用的显示器上1px宽=1毫米,但我用的显示器1px宽=两毫米,那么你定义一个div宽度为100px,你显示器上看这个div是10厘米,我显示器上看是20厘米.另外一个px点的长宽不一定是1:1的正方形,有的设备上长宽比是不一样的. em尺寸:所有现代浏览器下默认字体尺寸是16px,这时1em=16px.然后你人为的把body里面定义font-size:12px;(把浏览器默认16…
无论transition还是keyframes,如何让变化更自然,这是前端应该考虑的问题. 这里,我简单总结下自己的方法. 以实践为例子. 1.图像渐变 @keyframes looppic{ from{ background:url(http://www.005.tv/uploads/allimg/160727/16-160HG44240938.png); } 25%{ background:url(http://b.zol-img.com.cn/sjbizhi/images/8/750x53…
相信许多许多Web前端的朋友一定被float这个属性给困扰过吧,有时候用它来布局很方便,能够实现元素快速的水平排列,但有时候它又像一个精灵,让人无法琢磨透它方位.在网上也看了一些关于float的帖子,感觉这一篇写得不错,特此推荐给大家:http://www.zhangxinxu.com/wordpress/2010/01/css-float%E6%B5%AE%E5%8A%A8%E7%9A%84%E6%B7%B1%E5%85%A5%E7%A0%94%E7%A9%B6%E3%80%81%E8%AF%…
高度坍塌情况: 当父元素没有设置高度,且子元素块都向左(右)浮动起来,那么父元素就会出现坍塌的现象. 解决办法: 在父元素包含块中加一个div: 优点:兼容性强,适合初学者. 缺点:不利于优化. 方法二:overflow+room 优点:兼容性强. 缺点:对margin属性有影响,不能设负值,设负值无效.负值绝对定位也不行. 方法三:after+room(最好用,最方便,推荐)…