2017年10月

原理其实就是一段CSS代码,定义了一下光标,使他不再使用本地的光标!改变鼠标指针形状的方法:系统鼠标指针与自定义控件,一般我们都用系统鼠标指针,其实这已经能满足大部分群众了,通常只有为了页面看起更好看,锦上添花才会选择自定义控件。CSS文件只要在页面中引用了就可以,wordpress的直接添加到style.css中即可 ,其他的不知道可直接添加到页面底部!在此发文一篇。

例如:

a{ cursor:default;}
div{ cursor:url(url图片地址) }

css样式表(加粗为常用):

属性 效果
 crosshair  十字准星
 auto  自动
 default  默认(正常选择)
 hand、pointer  链接选择(手形)
 move  移动 
 help  帮助
 wait  等待
 text  编辑
 w-resize  水平调整(向左)
 e-resize  水平调整(向右)
 n-resize  垂直调整(向上)
 s_resize  垂直调整(向下)
 ne-resize  对角线调整(向右上)
 sw-resize  对角线调整(向左下)
 se-resize  对角线调整(向右下)
 nw-resize  对角线调整(向左上)
 url(‘光标地址’)  自定义光标

好了,直接上一段CSS代码,如果是添加到页面中的请添加<style></style>


body {
    cursor: url(光标文件.cur), auto;
}
a:hover {
    cursor: url(光标文件.cur), auto;
}

body的为全局默认光标 a:hover的则为a标签时 使用的样式,就这么简单,表情

缩写CSS样式的好处:

对于浏览者而言,缩写可以减少CSS代码量,进而减少CSS文件体积,有利于访问者更快的打开网页;对于开发者而言,CSS代码量少,阅读简洁明了;对于网站服务器而言,在相同带宽下可以承受更多的访问请求。

常用CSS样式表缩写语法总结

盒尺寸(padding、margin)
常见margin与padding边距缩写margin外边距与padding内边距是制作布局时常用到的两个属性,在传统写法上,我们通常使用以下形式:

.box{
   width:300px;
   height: 300px;
   background: #eee;
   margin-left: 20px;
   margin-right: 30px;
   margin-top: 40px;
   margin-bottom: 50px;
}

padding也是如此,而在css缩写中,可以使用缩写的编写方式,margin及padding的缩写在默认状态下需要提供4个参数,按顺序分别为上、右、下、左。例:

.box{
   width:300px;
   height: 300px;
   background: #eee;
   /*外边距连写*/
   margin:20px 30px 40px 50px;
}

注意:margin及padding的缩写比较特殊一点,方便的记忆方法是顺时针,上右下左。
通常有下面四种书写方法(这里拿margin做例子):

/*顺序*/
/*从上开始,顺时针转;margin:上 右 下 左*/
/*上下左右都相等: margin: 5px(上下左右)*/
margin: 5px;
/*上下相等, 左右相等: margin: 5px(上下) 15px(左右)*/
margin: 5px 15px 5px 15px;
/*上下不等,左右相等: margin: 5px(上) 10px(左右) 20px(下)*/
margin: 5px 10px 20px 10px
/*上下左右都不相等: margin: 20px(上)   30px(右)   40px(下)  50px(左)*/
Margin: 20px  30px   40px  50px;


边框(border)
border边框缩写border对象本身是一个非常复杂的对象,包含了四条边的不同宽度、不同颜色及不同样式,所以border对象提供的缩写形式相对来说也要丰富很多,不仅可以对整个对象进行border缩写,也可以对单独某一个边进行缩写,
对于整个对象而言,可以使用如下的格式进行缩写:

border:border-width border-style border-color 

代码示例:

.box{border:5px solid red;}

通过上面的属性,我们就可以把样式针对整个对象或者每一个边都设置不同的样式


.box{
   width: 300px;
   height: 390px;
   background: #999;
   border-top-style: solid;   /*线型*/
   border-top-color: #ff0000;     /*边框颜色*/
   border-top-width: 5px;   /*宽度*/ 
   /*边框属性连写*/
   border-top: #ff0000 solid 5px;   
   /*四个边框值相同的写法*/
   border:12px solid red;    
   /*单独边框并且设置不同的样式*/ 
   border-top: red solid 5px; 
   border-right: 12px dotted #ffc0cb;
   border-buttom: 12px dotted #191970;
   border-left: 5px dashed #00ffff;
}

注意:border缩写样式没有顺序要求,但线型(border-style)为必写项。
除了对于边框整体及4个边单独的缩写之外,border还为我们提供了对于
border-style、border-width以及border-color的单独缩写方式,语法格式如下:

border-width:top right bottom left;
border-color:top right bottom left; 
border-style:top right bottom left; 

代码示例:

.box{
   border-width:1px 2px 3px 4px;
   border-color:blue white red green; 
   border-style:solid dashed; 
}


背景(Background)
背景的属性如下:
background-color:#f00;
background-image:url(background.gif);
background-repeat:no-repeat;
background-attachment:fixed;
background-position:0 0;
背景缩写用于针对背景控制的相关属性进行缩写,其语法格式如下:
background:background-color background-image background-repeat background-attachment background-position
根据以上语法,可以缩写为一句:

.box{background:#f00 url(background.gif) no-repeat fixed 0 0;} 

注意:background属性连写的时候没有顺序要求,但url为必写项。
color颜色缩写css对于颜色代码也提供了简单的缩写模式,主要针对16进制颜色代码。
16进制代码传统写法一般使用#ABCDEF,ABCDEF分别代表6个 16进制数,css的颜色缩写必须符合一定要求,
当A与B数字相同,C与D数字相同,E与F数字相同时,可以使用颜色缩写,
例:


p{color:#ffffff;}
/* 可以缩写为*/
p{color:#fff;}
p{color:#2255bb;}
/* 可以缩写为*/
p{color:#25b;} 


字体(fonts)
字体的属性如下:
font-style:italic;
font-variant:small-caps;
font-weight:bold;
font-size:1em;
line-height:140%;
font-family:"Lucida Grande",sans-serif;
font字体缩写字体缩写是针对字体样式的缩写形式,包含字体、字号等属性,使用方法如下:

font:font-style font-variant font-weight font-size line-height font-family 

根据以上语法,可以缩写为一句:

font:italic small-caps bold 1em/140% "Lucida Grande",sans-serif;

注意:font:后边写属性的值。一定按照书写顺序。文本属性连写文字大小(font-size)和字体(font-family)为必写项。
列表(lists)
取消默认的圆点和序号可以这样写list-style:none;,
list的属性如下:
list-style-type:circle;
list-style-position:inside;
list-style-image:url(image.gif);
list列表缩写list缩写是针对list-style-type、list-style-position等用于ul的list属性,
语法格式如下:

list-style:list-style-type list-style-position list-style-image 

代码示例:
根据以上语法,可以缩写为一句

ul {list-style:disc outside none;} 


这里顺便提一句,有很多样式都涉及到了四边的问题,这里统一说明。
四边的简写一般如下:selector {property: value}
value:top | right | bottom | left

具体可以参考上面的marginborder属性!(←这里的marginborder属性可以点击噢(〃'▽'〃))
最后,偷偷告诉大家,学好css最需求的就是多看多写多实践,
那样才能学的好,记得住。٩(๑❛︶❛๑)۶

下面是一些三角形样式,部分我在仿站练习时,用到了的图案,加了点颜色美化,记录一下...

各种三角形的效果图和代码记录

三角形,倒三角形,左三角形,右三角形

上三角

效果图:

代码样式:

#triangle{
    width:0;
    height:0;
    border-left:50px solid transparent;
    border-right:50px solid transparent;
    border-bottom:100px solid #f44336;
}

右三角

效果图:

代码样式:

#triangle{
    width:0;
    height:0;
    border-top:50px solid transparent;
    border-bottom:50px solid transparent;
    border-left:100px solid #2196f3;
}

下三角

效果图:

代码样式:

#triangle{
    width:0;
    height:0;
    border-left:50px solid transparent;
    border-right:50px solid transparent;
    border-top:100px solid #e91e63;
}

左三角

效果图:

代码样式:

#triangle{
    width:0;
    height:0;
    border-top:50px solid transparent;
    border-bottom:50px solid transparent;
    border-right:100px solid #9c27b0;
}

左上直角三角形

效果图:

代码样式:

#triangle{
   width: 0px;  
   height: 0px;  
   margin: 10px 10px;  
   float: left;  
   border-right: 100px solid transparent;
   border-top: 100px solid #ff5722;  
}

右上直角三角形

效果图:

代码样式:

#triangle{
  width: 0px;  
  height: 0px;  
  margin: 10px 10px;  
  float: left;  
  border-left: 100px solid transparent;
  border-top: 100px solid #ffca28;  
}

右下直角三角形

效果图:

代码样式:

#triangle{
  width: 0px;  
  height: 0px;  
  margin: 10px 10px;  
  float: left;  
  border-right: 100px solid transparent; 
  border-bottom: 100px solid #4caf50; 
}

左下直角三角形

效果图:

代码样式:

#triangle{
  width: 0px;  
  height: 0px;  
  margin: 10px 10px;  
  float: left;  
  border-left: 100px solid transparent;  
  border-bottom: 100px solid #009688;  
}

CSS学起来并不难,但在大型项目中,就变得难以管理,特别是不同的人在CSS书写风格上稍有不同,团队上就更加难以沟通,为此总结了一些如何实现高效整洁的CSS代码原则:

1. 使用Reset但并非全局Reset

不同浏览器元素的默认属性有所不同,使用Reset可重置浏览器元素的一些默认属性,以达到浏览器的兼容。但需要注意的是,请不要使用全局Reset:

*{ margin:0; padding:0; }

这不仅仅因为它是缓慢和低效率的方法,而且还会导致一些不必要的元素也重置了外边距和内边距。在此建议参考YUI Reset和Eric Meyer的做法。我跟Eric Meyer的观点相同,Reset并不是一成不变的,具体还需要根据项目的不同需求做适当的修改,以达到浏览器的兼容和操作上的便利性。我使用的Reset如下:

/** 清除内外边距 **/
body, h1, h2, h3, h4, h5, h6, hr, p,
blockquote, /* structural elements 结构元素 */
dl, dt, dd, ul, ol, li, /* list elements 列表元素 */
pre, /* text formatting elements 文本格式元素 */
form, fieldset, legend, button, input, textarea, /* form elements 表单元素 */
th, td, /* table elements 表格元素 */
img/* img elements 图片元素 */{
border:medium none;
margin: 0;
padding: 0;
}
/** 设置默认字体 **/
body,button, input, select, textarea {
font: 12px/1.5 '宋体',tahoma, Srial, helvetica, sans-serif;
}
h1, h2, h3, h4, h5, h6 { font-size: 100%; }
em{font-style:normal;}
/** 重置列表元素 **/
ul, ol { list-style: none; }
/** 重置超链接元素 **/
a { text-decoration: none; color:#333;}
a:hover { text-decoration: underline; color:#F40; }
/** 重置图片元素 **/
img{ border:0px;}
/** 重置表格元素 **/
table { border-collapse: collapse; border-spacing: 0; }

2. 良好的命名习惯

无疑乱七八糟或者无语义命名的代码,谁看了都会抓狂。就像这样的代码:

.aaabb{margin:2px;color:red;}

我想即使是初学者,也不至于会在实际项目中如此命名一个class,但有没有想过这样的代码同样是很有问题的:

My name is Wiky

问题在于如果你需要把所有原本红色的字体改成蓝色,那修改后就样式就会变成:

.red{color:bule;}

这样的命名就会很让人费解,同样的命名为.leftBar的侧边栏如果需要修改成右侧边栏也会很麻烦。所以,请不要使用元素的特性(颜色,位置,大小等)来命名一个class或id,您可以选择意义的命名如:#navigation{…},.sidebar{…},.postwrap{…}
这样,无论你如何修改定义这些class或id的样式,都不影响它跟HTML元素间的联系。
另外还有一种情况,一些固定的样式,定义后就不会修改的了,那你命名时就不用担忧刚刚说的那种情况,如

.alignleft{float:left;margin-right:20px;}
.alignright{float:right;text-align:right;margin-left:20px;}
.clear{clear:both;text-indent:-9999px;

那么对于这样一个段落

我是一个段落!

如果需要把这个段落由原先的左对齐修改为右对齐,那么只需要修改它的className就为alignright就可以了。

3. 代码缩写

CSS代码缩写可以提高你写代码的速度,精简你的代码量。在CSS里面有不少可以缩写的属性,包括margin,padding,border,font,background和颜色值等,如果您学会了代码缩写,原本这样的代码:

li{
font-family:Arial, Helvetica, sans-serif;
font-size: 1.2em;
line-height: 1.4em;
padding-top:5px;
padding-bottom:10px;
padding-left:5px;
}

就可以缩写为:

li{
font: 1.2em/1.4em Arial, Helvetica, sans-serif;
padding:5px 0 10px 5px;
}

如果您想更了解这些属性要怎么缩写,可以参考《常用CSS缩写语法总结》或者下载CSS-Shorthand-Cheat-Sheet.pdf 。

4. 利用CSS继承

如果页面中父元素的多个子元素使用相同的样式,那最好把他们相同的样式定义在其父元素上,让它们继承这些CSS样式。这样你可以很好的维护你的代码,并且还可以减少代码量。那么本来这样的代码:

#container li{ font-family:Georgia, serif; }
#container p{ font-family:Georgia, serif; }
#container h1{font-family:Georgia, serif; }

就可以简写成:

#container{ font-family:Georgia, serif; }

5. 使用多重选择器

你可以合并多个CSS选择器为一个,如果他们有共同的样式的话。这样做不但代码简洁且可为你节省时间和空间。如:

h1{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
h2{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
h3{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }

可以合并为

h1, h2, h3{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }

6. 适当的代码注释

代码注释可以让别人更容易读懂你的代码,且合理的组织代码注释,可使得结构更加清晰。你可以选择做的样式表的开始添加目录:

/*------------------------------------
1. Reset
2. Header
3. Content
4. SideBar
5. Footer
----------------------------------- */

如此你代码的结构就一目了然,你可以容易的查找和修改代码。

而对于代码的主内容,也应适当的加以划分,甚至在有必要的地方在对代码加以注释说明,这样也有利于团队开发:

/*** Header ***/
#header{ height:145px; position:relative; }
#header h1{ width:324px; margin:45px 0 0 20px; float:left; height:72px;}
/*** Content ***/
#content{ background:#fff; width:650px; float:left; min-height:600px; overflow:hidden;}
#content h1{color:#F00}/* 设置字体颜色 */
#content .posts{ overflow:hidden; }
#content .recent{ margin-bottom:20px; border-bottom:1px solid #f3f3f3; position:relative; overflow:hidden; }
/*** Footer ***/
#footer{ clear:both; padding:50px 5px 0; overflow:hidden;}
#footer h4{ color:#b99d7f; font-family:Arial, Helvetica, sans-serif; font-size:1.1em; }

7. 给你的CSS代码排序

如果代码中的属性都能按照字母排序,那查找修改的时候就能更加快速:

/*** 样式属性按字母排序 ***/
div{
background-color:#3399cc;
color:#666;
font:1.2em/1.4em Arial, Helvetica, sans-serif;
height:300px;
margin:10px 5px;
padding:5px 0 10px 5px;
width:30%;
z-index:10;
}

8. 保持CSS的可读性

书写可读的CSS将会使得更容易查找和修改样式。对于以下两种情况,哪种可读性更高,我想不言而明。

/*** 每个样式属性写一行 ***/
div{
background-color:#3399cc;
color:#666;
font: 1.2em/1.4em Arial, Helvetica, sans-serif;
height:300px;
margin:10px 5px;
padding:5px 0 10px 5px;
width:30%;
z-index:10;
}
/*** 所有的样式属性写在同一行 ***/
div{ background-color:#3399cc; color:#666; font: 1.2em/1.4em Arial, Helvetica, sans-serif; height:300px; margin:10px 5px;padding:5px 0 10px 5px; width:30%; z-index:10; }

当对于一些样式属性较少的选择器,我会写到一行:

/*** 选择器属性少的写在同一行 ***/
 div{ background-color:#3399cc; color:#666;}

对于这个规则并非硬性规定,但无论您采用哪种写法,我的建议是始终保持代码一致。属性多的分行写,属性少于3个可以写一行。

9. 选择更优的样式属性值

CSS中有些属性采用不同的属性值,虽然达到的效果差不多,当性能上却存在着差异,如


区别在于border:0把border设为0px,虽然在页面上看不见,但按border默认值理解,浏览器依然对border-width/border-color进行了渲染,即已经占用了内存值。


而border:none把border设为“none”即没有,浏览器解析“none”时将不作出渲染动作,即不会消耗内存值。所以建议使用border:none;


同样的,display:none隐藏对象浏览器不作渲染,不占用内存。而visibility:hidden则会。

10. 使用代替@import

首先,@import不属于XHTML标签,也不是Web标准的一部分,它对于较早期的浏览器兼容也不高,并且对于网站的性能有某些负面的影响。具体可以参考《高性能网站设计:不要使用@import》。所以,请避免使用@import

11. 使用外部样式表

这个原则始终是一个很好的设计实践。不单可以更易于维护修改,更重要的是使用外部文件可以提高页面速度,因为CSS文件都能在浏览器中产生缓存。内置在HTML文档中的CSS则会在每次请求中随HTML文档重新下载。所以,在实际应用中,没有必要把CSS代码内置在HTML文档中:

<style type="text/css" >
    #container{ .. }
    #sidebar{ .. }
</style>

<li style="font-family:Arial, helvetica, sans-serif; color:#666; " >

而是使用导入外部样式表:

<link rel="stylesheet" type="text/css" href="css/styles.css" />

12. 避免使用CSS表达式(Expression)

CSS表达式是动态设置CSS属性的强大(但危险)方法。Internet Explorer从第5个版本开始支持CSS表达式。下面的例子中,使用CSS表达式可以实现隔一个小时切换一次背景颜色:

background-color: expression( (new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00" );

如上所示,expression中使用了JavaScript表达式。CSS属性根据JavaScript表达式的计算结果来设置。


表达式的问题就在于它的计算频率要比我们想象的多。不仅仅是在页面显示和缩放时,就是在页面滚动、乃至移动鼠标时都会要重新计算一次。给CSS表达式增加一个计数器可以跟踪表达式的计算频率。在页面中随便移动鼠标都可以轻松达到10000次以上的计算量。


如果必须使用CSS表达式,一定要记住它们要计算成千上万次并且可能会对你页面的性能产生影响。所以,在非不得已,请避免使用CSS表达式。

13. 代码压缩

当你决定把网站项目部署到网络上,那你就要考虑对CSS进行压缩,出去注释和空格,以使得网页加载得更快。压缩您的代码,可以采用一些工具


利用它可精简CSS代码,减少文件大小,以获得更高的加载速度。

14. 总结

在本文中,我力图更详尽的总结书写更高效的CSS代码的原则,但鉴于本人见识和精力有限,我还是希望这些原则能帮助您更好的书写和管理您的CSS代码,不知您又是如何书写CSS的,是否也有一些想要分享的技巧?给我留言吧谢谢~

Firefox Quantum
最近,Mozilla将Firefox 57浏览器作为Beta版发布,并正式将其命名为Firefox Quantum。该品牌还包括一个新的标志。
Firefox Quantum
Mozilla称,“引擎在汽车和浏览器中都很重要。这就是为什么我们今天早上宣布这样的改变,我们正在发布一个全新的Firefox的Beta版,一个完全重新发明的现代化引擎。由于版本号57不能真正传达我们所做出的重大更改,以及这款新Firefox的速度,我们于是将其更名为Firefox Quantum。”
Mozilla表示,Firefox Quantum浏览器速度是Firefox 52的两倍。它能够通过使用Rust语言来重建组件提高浏览器的速度,这些组件现在更有效率。 Firefox历史版本仅在一个CPU核心上运行任务,但在Quantum及更高版本中,它将利用多个CPU核心,从而使浏览器速度更快。
Firefox Quantum
通过使用Rust编写的新CSS引擎,Firefox可以并行使用多个CPU来缩短加载时间,Mozilla声称没有其他浏览器可以执行此操作。为了进一步提高速度,Mozilla将用户打开的选项卡放在首位,并且采用多进程架构。 Firefox Quantum在某些网站上的打开速度超过Chrome,同时使用的内存减少30%。该团队还修复了468个浏览器问题,这可能会导致速度上升。
Firefox Quantum
为了进一步提高速度,Mozilla将用户曾经打开过的网站放到优先级别,Firefox Quantum声称打开某些网站的速度在超过Chrome的同时,并且使用低于后者30%的RAM。
Firefox Quantum还将采用新的Photon UI,将于11月14日正式发布。期待ing~
(作为 Mozilla Firefox 忠实粉丝的我ヾ(=・ω・=)o,一直对Mozilla Firefox情有独钟,每次给电脑重装系统或者手机刷机后,Firefox是必不可少的软件O(≧▽≦)O)
最后,提供Firefox 57 Beta 3版本下载:

官网的下载地址

Win 64
Win 32
Mac版

如果嫌弃官网下载速度慢的小伙伴,可以试着尝试本人提供的下载途径

Win 64
(推荐)

Win 32
(推荐)

Mac版
(推荐)

原文地址(略作修改):> cnBeta