CSS3 Transform 转换属性

整    理:徐秀、晋哲

时    间:2015-12-04

说    明:CSS3 Transform基本语法以及基础用法的介绍。

一、名词解释

transform字面上就是变形,改变的意思,包括2D transform和3D transform。在CSS3中transform主要包括以下几种:移动translate()、旋转rotate()、扭曲skew()、缩放scale()以及矩阵变形matrix(),对内联元素(inline)和块级元素(block)都适用。

二、浏览器兼容性
注意:transform是CSS3新属性,目前兼容浏览器【盗图】:image001

和其它CSS3新属性一样,transform要加兼容前缀。

三、transform-origin属性

transform-origin在元素发生transform变换时有效,是发生变换的基点,以此点建立【2d/3d】坐标。默认值为:transform-origin:50% 50% [0]; 第三个参数是3d转换下z的值,默认0。当改变transform-origin的值时,transform参照基点发生改变,如: transform-origin:0 0;image002

其中X和Y的值可以是百分值,em,px,其中X也可以是字符参数值left,center,right;Y和X一样除了百分值外还可以设置字符值top,center,bottom。

四、语法讲解

描述
none 定义不进行转换。
matrix(n,n,n,n,n,n) 定义 2D 转换,使用六个值的矩阵。
matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n) 定义 3D 转换,使用 16 个值的 4x4 矩阵。
translate(x,y) 定义 2D 转换。
translate3d(x,y,z) 定义 3D 转换。
translateX(x) 定义转换,只是用 X 轴的值。
translateY(y) 定义转换,只是用 Y 轴的值。
translateZ(z) 定义 3D 转换,只是用 Z 轴的值。
scale(x,y) 定义 2D 缩放转换。
scale3d(x,y,z) 定义 3D 缩放转换。
scaleX(x) 通过设置 X 轴的值来定义缩放转换。
scaleY(y) 通过设置 Y 轴的值来定义缩放转换。
scaleZ(z) 通过设置 Z 轴的值来定义 3D 缩放转换。
rotate(angle) 定义 2D 旋转,在参数中规定角度。
rotate3d(x,y,z,angle) 定义 3D 旋转。
rotateX(angle) 定义沿着 X 轴的 3D 旋转。
rotateY(angle) 定义沿着 Y 轴的 3D 旋转。
rotateZ(angle) 定义沿着 Z 轴的 3D 旋转。
skew(x-angle,y-angle) 定义沿着 X 和 Y 轴的 2D 倾斜转换。
skewX(angle) 定义沿着 X 轴的 2D 倾斜转换。
skewY(angle) 定义沿着 Y 轴的 2D 倾斜转换。
perspective(n) 为 3D 转换元素定义透视视图。

未经transform转换的div,以下各种变换均以此为参照:image003

  • transform:translate();

通过指定translation(tx,ty)进行矢量偏移,translation3d(tx,ty,tz);参数tx 是x轴方向的偏移矢量,ty 可选参数是y轴方向的偏移矢量。translation3d()中的各值,表示在对应方向的偏移量。tx,ty,tz的取值可以是具体的像素值,也可以是百分比,百分比的的取值相对于自身的宽高。translate(),表示对对象进行平移,当值为负数时,反方向移动物体。分别指定指定轴上的偏移量可以。通过transform-origin属性改变基点。

其它写法:translateX(x)【适用于2d/3d】,translateY(y) 【适用于2d/3d】;translateZ(z) 【适用于3d】,

代码:image004image005效果:image005

  • transform:rotate();

通过指定的角度参数对指定元素指定一个rotate(angle)进行2d旋转,rotate3d(rx,ry,rz,angle)进行3d旋转;rx,ry,rz可以取【1:正方向;-1:反方向;0不旋转】;在指定方向选择angle度; angle是指旋转角度,如果设置的值为正数表示顺时针旋转,如果设置的值为负数,则表示逆时针旋转。可以通过transform-origin属性改变基点。

其它写法:rotateX(angle) 【适用于3d】;rotateY(angle) 【适用于3d】;rotateZ(angle) 【适用于3d】
代码:image007image008效果:image009

  • transform:scale();

通过指定scale(sx,sy)的sx、sy参数对指定元素进行2d缩放; scale3d(sx,sy,sz)进行3d缩放。2d缩放的第二个参数可选,未提供,则取与第一个参数一样的值;3d的三个参数都必写,表示在对应方向的缩放比例。可以通过transform-origin对元素的基点进行设置。

其它写法:scaleX(x)【适用于2d/3d】,scaleY(y) 【适用于2d/3d】;scaleZ(z) 【适用于3d】。

代码:image011image010 效果:image012

  • transform:skew();

通过指定skew(x-angle, y-angle)的x-angle、 y-angle参数对指定元素在指定方向上发生倾斜; skew()没有3d写法;x-angle是水平方向扭曲角度,y-angle可选,是垂直方向扭曲角度。如未设置y-angle,那么Y轴倾斜角度为0deg。

其它写法:skewX(x)【适用于2d】,skewY(y) 【适用于2d】。
代码:image013image014效果:
111

  • transform: matrix ();

matrix():2d矩阵包含6个值matrix(a,b,c,d,e,f);3d矩阵包含16个之matrix(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)4*4个值,以上的各种变换(2d/3d),都可以矩阵计算得到相应效果,单计算过程很复杂,此处就不赘述了。有兴趣的小伙伴可以自行学习下。

后台产品上新和新闻稿更新

整    理:徐秀、肖雅君

时    间:2015-12-04

说    明:精工后台的操作及注意点,包括精工腕表产品和新闻稿模块的更新。

后台地址:

http://www.seiko.com.cn/M/Login.aspx?ReturnUrl=%2fm%2findex.aspx

精工的腕表产品和新闻稿更新都在后台进行操作。

1) 对应线上的网址:

产品展示:http://www.seiko.com.cn/collections/index.aspx页面下各类别腕表产品页。

2) 新闻资讯:http://www.seiko.com.cn/press_release/index.aspx下的新闻页。

页面入口可由官网页头导航条进入。image001

一、产品上新

  1. 图片制作

要求:一张大图(一般为:300 x 300,视情况而定),一张小图(一般为:42 x 75)。图片一律约束比例缩放,不得变形。以线上该系列下的最新(第一个) 产品图片为模板。【产品上新时,精工发的邮件会包含,一个包含所有新产品信息的excel表格和高清新产品图片,如果没有图片,记得跟他们要,因为excel表格上的图片处理完就糊了。】举个栗子:image002

1)精工发来新产品:

在官网”产品展示”---“premier”---“7D46・7D48・7D56机芯”点击弹出如下页面。image003

下载第一个产品的大图和小图为参考模板。图片的高度和宽度要与线上的一致,”new”的位置,以及图上下的留白区也要一致(可借助PS的参考线来确定图片内容位置;)

方法:

1)模板图片上下左右内容区做好参考线,删除图片内容,保留”new”,做成空白模板;

2)把新图片的上下空白区域裁剪掉,然后根据模板的内容区高度(一般为292px),ctrl+alt+i约束比例确定高度复制到模板区域,调整上下边距【一定要注意】,左右保证居中即可。

PS:找不到该系类咋办【情况非常少】?它是一个新系列,精工邮件会有说明,参考相邻系列的产品图片呗。但多了一项任务,还要制作这个系列的代表图片,尺寸参考相邻系列代表图片。如:image004

  1. 登录后台上新

1) 浏览器输入后台网址,输入用户和密码。image005

2) 确认是否线上已有该系列,没有要先添加“产品系列”。点击侧栏”产品系列管理”---“新增”。image006

根据excel表格中的内容填写下面各项,“保存”。ps:后台操作一保存,精工官网立马显示,一定要慎重检查再保存。检查点【系列款式是否正确,文字描述是否有错字】

3)线上已有该系列,跳过2),在侧栏选择“产品管理”---“新增”。弹出:image007

PS:从上到下依次填入所提到的点,写完之后,注意检查再保存。检查点:

  • 所属列表、款式、机芯系列是否正确。
  • 产品名称是否和文档一致。
  • 显示顺序的数字是否正确。
  • 图片是否正确,简介是否有错字。

产品的显示顺序应该根据产品名称递增排序。如下:image008

如果SNP126J1的“显示顺序”号为10,则SNP127J1顺序号:11,SNP128J1:12;SNP129J1:13。

二、新闻稿上新

  1. 登录后台

1) 侧栏点击“最新资讯管理”—“新增”image009
2) 根据精工发来的word文档的排版。进行如下操作,“保存“。
PS:各项填完之后,检查以下问题再保存。

  • 如果有遇到无法解决的排版问题,参考线上相似新闻稿;
  • 未确认排版前,日期最老,使新闻稿不容易被访问到;
  • 为防止代码错乱,建议在”代码模式”下写新闻稿;
  • 保存后,对比word文档,查看图片显示位置是否正确,是否有错别字,特殊符号(如英文人名中间的圆点等)是否与word一致。
  1. 修改首页入口链接

新闻稿确定保存后,要到精工服务器的首页相应位置添加新闻资讯的链接。【很简单,主要是复制粘贴改链接。】image010

1) 登录服务器---找到精工首页的”aspx”文件,备份两份,打开测试的aspx文件,ctrl+f查找【id=”whatsnew”】,复制一个完整的标题和链接部分,只有修改标注部分,链接、和标题,以及新闻发生月份。链接是导航条上“最新资讯“下,你刚更新的新闻稿的网址,格式参考往期。【再添加一个新链接,要删除最下面一个旧链接,不然会有溢出。】
2) 修改完之后在首页“最新咨询”,弹出框测试,测试链接是否正确。image011

【SEIKO】精工VPN创建

整    理:徐秀、肖雅君

时    间:2015-11-27

说    明:创建连接精工服务器的VPN

 

创建连接精工服务器的VPN。以Win7为例,其他系统大同小异

  1. 创建seikoVPN连接。

打开“控制面板”--“网络和Internet”--“Internet选项”>“连接”菜单,弹出窗选择“添加VPN(P)”,如下图:seiko服务器端操作一110

在弹出框设置如下:seiko服务器端操作一123

“下一步”,输入用户名和密码。【已固定,因为有保密性,查看相关文档】seiko服务器端操作一160

现在,seiko的vpn已出现桌面任务栏的网络连接中,点击任务栏网络连接按钮seiko服务器端操作一202出现上图,右击”seiko”-> “属性” -> “网络” 更改相应配置。seiko服务器端操作一242

选择“TCP/IP4” -> “属性”seiko服务器端操作一264弹出框去掉“在远程网络上使用默认网关”选项。然后确定退回。seiko服务器端操作一296

2、像连接宽带一样连接VPN

3、远程登录内网的虚拟机192.168.1.152(此机器是win2003系统)

点击win的开始,选择运行【快捷键:win键+r】seiko服务器端操作一380

输入mstsc,启用远程登录seiko服务器端操作一399

如下图,输入内网的ip,192.168.1.152,点击显示选项seiko服务器端操作一438

点击”本地资源”下的”详细信息”弹出右侧对话框,勾选如下选项。【可以完成本机和服务器的信息的复制粘贴】,点击”确定”,回到上图界面,点击连接按钮。seiko服务器端操作一514

看到下图所示,输入 账号、密码seiko服务器端操作一532

【注意】: 每次登远程之前要先连seiko的vpn(和连接宽带方式相同)。

【SEIKO】精工PPT制作说明

整    理:徐秀、肖雅君

时    间:2015-11-27

说    明:精工每月PPT制作技巧和内容的总结

 

一、概述

二、详细介绍

1.表类网站分析PPT

2.精工网站数据分析PPT

3.半年度ppt

三、PPT制作的小技巧

 

一、概述

精工有三类PPT需制作,第一个是对精工自家流量的分析(每月)、第二份是对精工同类型手表的网站分析(每月),即所谓的“表类网站分析PPT”,第三份是半年度PPT。其中每月还需从51yes网站上导出精工“每月访问数据量excel”,用于制作PPT 。

三份PPT对应内容简介如下表

PPT标题 PPT内容 PPT制作时间 PPT数据准备
1.表类网站分析 主要是分析同类型腕表(例如劳力士、天梭、浪琴等手表)的数据,包括该类手表每个月的资讯更新情况、每个月的排名等 同类网站比较ppt制作时间为当月最后一天【做迟做早都可能造成数据不准确】建议每月月底前制作。 网站Alexa排名,登录(http://www.alexa.cn/)用百度搜索各类表名,看是否有品牌推广。进入官网,截取首页,并查看是否有咨询更新
2.精工每月数据分析 主要在51yes上获取精工网站的相关数据,如:PV访问量,独立IP访问量,流量来源与比例等。 精工数据分析ppt制作时间为下个月的月初【可获取上个月的完整数据,做早了会导致数据不完整】 登录51yes(http://countt.51yes.com/login.aspx)查询网站的各项数据。(侧栏的导航都有分类)。Excel图表制作,以及数据计算
3.半年度 主要是对半年的表类网站分析数据的总结比较 半年度ppt每半年做一次。精工会直接向我公司索要PPT。最好提前做好准备。

二、详细介绍

1.表类网站分析PPT

1.1 第一项:本月同类手表网站总体排名与更新excel截图

需制作者先在excel里统计数据后再截图。

该excel内容包括:

(1)资讯更新

(2)上月排名情况

(3)本月排名情况

排名登录:http://www.alexa.cn/ 获取(操作见1.1.1&1.1.2)

image001

1.1.1 新闻资讯更新获取

在各网站的官网中,如有新闻更新,写入;无则空白,各网站结构大同小异,小伙伴自行查找吧。ppt制作技巧【图片由excel截图】:

(1).图片圆角制作:image002

"裁剪"工具下拉选项---裁剪为形状

(2)投影制作:开始----形状效果---映像。

1.1.2 Alexa本月数据获取

各网站Alexa查询:http://www.alexa.cn/image003

同类比较网站首页地址:

劳力士http://www.rolex.com/zh-hans#/home?

欧米茄http://www.omegawatches.com/?

天梭http://www.tissot.ch/?

浪琴http://www.longines.cn/?

西铁城http://www.citizen.com.cn/??

英纳格http://www.enicar.com/?

梅花http://www.titoni.ch/zhs.html?

美度http://www.mido.ch/?

雷达http://www.rado.com/??

卡西欧http://www.casio.com.cn/wat/?

【上月Alexa数据直接由上月PPT中copy】

1.2 第二项:其它表类网站分析

分析内容包括:

(1)首页整理结构有无变化。

(2)有无资讯更新。

(3)是否在百度首页有推广。

如下图:image004

在百度搜索引擎中输入表类关键字,看该表是否在百度上做了品牌推广。比较上个月ppt,填写格式参照ppt。

1.3 根据查询结果写结论-END

  1. 精工网站数据分析PPT

Tip:精工流量数据均可在51yes上查询到,且可查到往期的数据

(1)统计区间制作方法image005

way1:情节提要------“编辑布局”【office2010】

way2:wps中幻灯片母版---编辑母版

(2)数据获取【以下各数据选取,均注意日期选择】,访问:http://countt.51yes.com/login.aspx

2.1 第一项:概况

此项主要简单说明下本月PV和IP较上月数值的变动情况,如下图:image006

2.2 第二项:综合评价

此项主要是通过具体的数值,详细的说明下本月PV和IP较上月的变动情况,如下图:image007

数值获取方式:

(1) 先查数据

登录51yes网站。image008

点进侧栏的“综合统计”。主页面右下方有上月访问量统计(蓝色为pv量,括号紫色为独立IP访问量):image009

(2) 计算上升/下降百分比

平均页面访问量=本月pv/本月独立ip;

pv上升%=|本月pv-上月pv|/本月pv*100%;[ip/页面访问同]

2.3 第三项:流量分析

此项主要统计以下几个内容:

(1)将本月和上月访问量最高的城市记录下来,包括其访问比率。同时对访问比的变化情况作总结。

(2)记录两个月的流量主要来源,并简要总结。

(3)记录哪些网站对精工网站流量产生影响。(此项一般不会变化,主要是一些主流的搜索引擎)image010

2.3.1 数据获取

点击”客户端分析”【获取访问量最高的前五城市】image011

2.3.2 搜索引擎流量分析

如上,在侧栏点击”来路统计(域名为单位)”,注意日期选取。在ppt记录前三四域名及所占比例。

2.4 第四项:页面总访问和独立ip访问数据获取

2.4.1 网站访问量统计

侧栏“数据下载”:image012 点击进入下载页,类型选择,”下一步”:image013

选择你想要输出的月份:image014

点击下载按钮即可。

2.4.2 制作柱形图

通过excel表格的柱形图制作成如下格式【根据下周的excel表格—插入柱形图制作,注意格式以及颜色选择】。同理制作独立IP访问量的柱形图。image015

2.5 第五项:单个页面的受访率

此项主要统计以下几个内容:

(1)受访页面的截图。

(2)在51yes上获取当月的数据,与前一年的数据形成比较。image016

根据获取到的页面访问率,从高到低排列,参考往月ppt 变化,注意更改。在51yes的侧栏点击:image017

(注意右侧日期选择)。

  1. 半年度ppt

对比分析以往半年度PPT,主要修改的是以下几点内容:

(1)半年的表类网站分析PPT总结版,截取制作当月各网站的首页图片【可以用firefox的FireCaptors截屏插件,截取一整个网站的图片。】并附上网站logo。

(2) 统计各比较网站的资讯更新,附上主图和链接。

(3) 统计网站半年的资讯更新情况,统计各网站的半年咨询更新数量,自行绘制“网站活跃度表格”。

三、PPT制作的小技巧

1.网站的截取可以由firefox的FireCaptors

2. 图片圆角制作:"裁剪"工具下拉选项---裁剪为形状

3. 投影制作:开始----形状效果---映像。

4. 统计区间制作方法:

way1:情节提要------“编辑布局”【office2010】

way2:wps中幻灯片母版---编辑母版

5. 数据计算:

平均页面访问量=本月pv/本月独立ip;

pv上升%=|本月pv-上月pv|/本月pv*100%;[ip/页面访问同]

【前端技术文档】html标签默认属性

整    理:徐秀、晋哲

时    间:2015-11-20

说    明:html标签默认可能影响布局的属性

1.页边距(<body>)

一般默认外边距为8px,根据不同浏览器有微小差别,通过设置:"margin:0;"消除。但body与其它block元素不同,它的background属性是从浏览器的左上角扩展到整个可见页面的。
重置代码: body{margin:0;}bd

2.段间距(<p>)

一般默认边距:"margin:16px;"通过重置 "margin:0;"消除。
p1

3.标题样式(<h>标签)

h标签默认加粗:"font-weight:bold;"
h标签有默认边margin和font-size。根据不同浏览器有所不同,(ps:有文字的block的文字域都有大于font-size的高度。可以通过设置line-height:1;消除。)
hp

4.列表样式 (<ul>/<ol>/<dl>)

4.1. 一般浏览器ul默认"list-style:disc;margin:16px;padding-left:40px;"
代码:ulp
4.2. 一般浏览器ol默认"list-style:decimal;margin:16px;padding-left:40px;";li的默认"display:list-item;"默认占据一行;
代码:
oli1
效果:
olp
4.3. dl/dd/dt的默认"display:block;",dl默认"margin:16px;"dd的margin-left:40px;
代码:
dli
效果:
dlp

5.表格默认属性(<table>)

table及其子元素默认属性较多,主要有如下。在布局中,我们只要重置:table{border-spacing:0;border-collapse:collapse;}【注:重置后,table自带的cellpadding、 cellspacing属性失效】
table及其子标签的display不可更改,否则可能会影响布局。
代码:tbli效果:tblp

6.输入标签默认属性(<input>/<button>/<textarea>等)

下面是webkit浏览器关于input及button的默认属性,其它浏览器有所差别,但是默认属性都不少【仅作了解,不要深究】需要注意的是input,button{display:inline-block;}
代码:
ini效果:inp

附录:

重置css代码:
body,h1,h2,h3,h4,h5,h6,p,form,ol,ul,dl,dd,fieldset{margin:0;padding:0;}
body,button,input,fieldset,select,textarea,p{font-family:Arial,"Microsoft Yahei","Hiragino Sans GB" ,"WenQuanYi Micro Hei",sans-serif;font-size:12px;}
ul,ol{list-style:none}
fieldset,img,input[type="button"],button,img{border:none;}
fieldset,button,textarea,select,input{outline:none;}
table{border-collapse:collapse;border-spacing:0}
img{-ms-interpolation-mode:bicubic;}

【前端技术文档】CSS选择器

整 理:徐秀、晋哲

时 间:2015-11-09

说 明:CSS各种选择器及其意义,以及常见选择器的用法,附CSS命名建议

  • 什么是CSS?

CSS是Cascading style sheets【层叠样式表】的缩写,用来控制DOM节点的表现样式。

  • CSS结构

CSS组成: selector{property:value;}

  • CSS的选择器

选择器是确定CSS样式控制范围的标识,由于添加样式元素。

选择器优先原则:1、就近原则;2、控制范围越小,权重越高;选择符权重:id:100;class:10;标签:1;一个选择器的权重等于各个层级的权重之和,如:

#container  .lists  ul  li.item { … }的权重:100+10 +1+1+10=122.

  1. 基础选择器
选择器 含义 示例
* 通用元素选择器,匹配任何元素 * { margin:0; padding:0; }
E 标签选择器,匹配所有使用E标签的元素 p { font-size:2em; }
.info和E.info class选择器,匹配所有class name是info的(E)元素 .info { background:#ff0; }
p.info { background:#ff0; }
#info和E#info id选择器,匹配所有id的name为info的(E)元素。 #info { background:#ff0; }
p#info { background:#ff0; }
  1. 组合选择器
选择器 含义 示例
E,F 群组选择器,同时匹配所有E元素或F元素,E和F之间用逗号分隔 div,p { color:#f00; }
E F 后代元素选择器,匹配所有属于E元素后代的F元素,E和F之间用空格分隔 #nav li { display:inline; }
li a { font-weight:bold; }
E > F 子元素选择器,匹配所有E元素的子元素F,如果F下还有F,不受该样式影响;不影响E的孙子元素F。 .one > strong { color:#f00; }
E + F 毗邻元素选择器,匹配所有紧随E元素之后的第一个同级元素F .one + p { color:#f00; }
E~F 同级选择器,匹配E元素之后的所有同级元素F。 .two ~ ul{ list-style:none; }
  1. 属性选择器【ie8- 版本必须声明<!doctype>,否则(伪)属性、伪类选择器无效】
选择器 含义 示例
E[att] 匹配所有具有att属性的E元素,不考虑它的值。(注意:E在此处可以省略,比如“[cheacked]”。以下同。) p[title] { color:#f00; }
E[att=val] 匹配所有att属性等于“val”的E元素 div[class=”error”] { color:#f00; }
E[att~=val] 匹配所有att属性中包含单词“val”的E元素,该单词必须独立,前后被空格隔开。 td[class~=”name”] { color:#f00; }
E[att|=val] 匹配所有att属性以”val”开头的E元素,且”val”后必须接连字符(“-”) p[lang|=en] { color:#f00; }
CSS3新增属性选择器
E[att^=”val”] 属性att的值以”val”开头的元素 div[id^="nav"] { background:#ff0; }
E[att$=”val”] 属性att的值以”val”结尾的元素 a[src$=".pdf"]
E[att*=”val”] 属性att的值包含”val”字符串的元素 a[src*="abc"]
  1. 伪类选择器
选择器 含义 示例
E:link 匹配所有未被点击的链接 a:link {color: #f00;text-decoration:underline; }
E:visited 匹配所有已被点击的链接 a:visited {color: #f00;text-decoration:none; }
E:active 匹配鼠标已经其上按下、还没有释放的E元素 a:active {color: #f00;text-decoration:none; }
E:hover 匹配鼠标悬停其上的E元素 a:hover {color: #0f0;text-decoration:none; }
E:focus 匹配获得当前焦点的E元素【ie9+】 input[type=text]:focus { color:#000; background:#ffe; }
input[type=text]:focus:hover { background:#fff; }[当input获得焦点且鼠标悬停在input上才获得该样式]
E:lang(c) 匹配lang属性等于c的E元素 q:lang(sv) { quotes: “\201D” “\201D” “\2019″ “\2019″; }
CSS3界面相关伪类
E:enabled 匹配表单中激活的元素【ie9+】 input[type="text"]:enabled { background:#ff0;}
E:disabled 匹配表单中禁用的元素【ie9+】 input[type="text"]:disabled { background:#ddd;}
E:checked 匹配表单中被选中的radio(单选框)或checkbox(复选框)元【目前只有Opera支持】 input[type="text"]:disabled { background:#ddd;}
E::selection 匹配用户当前选中的元素【火狐样式单独写;且只能向 ::selection 选择器应用少量 CSS 属性:color、background、cursor 以及 outline】 ::selection { color:#ff0; background:#222; outline:#f00; }
::-moz-selection { color:#ff0; background:#222; outline:#f00; }
CSS3结构性伪类
E:root 匹配文档的根元素,在HTML文档,根元素是唯一html :root { background:#ccc; }
E:nth-child(n) 匹配其父元素的第n个子元素,第一个编号为1 p:nth-child(2) { color:#f00; }
E:nth-last-child(n) 匹配其父元素的倒数第n个子元素,最后一个编号为1 p:nth-last-child(2) { color:#f00; }
E:nth-of-type(n) 与:nth-child()作用类似,但仅匹配使用标签E的元素 p:nth-of-type(2) { color:#f00; }
E:nth-last-of-type(n) 与:nth-last-child() 作用类似,但仅匹配使用标签E的元素 p:nth-of-type(2) { color:#f00; }
E:first-child 匹配父元素的第一个子元素 p:first-child { font-style:italic; }
E:last-child 匹配父元素的最后一个子元素,等同于:nth-last-child(1)
E:first-of-type 匹配父元素下使用同种标签的第一个子元素,等同于:nth-of-type(1)
E:last-of-type 匹配父元素下使用同种标签的最后一个子元素,等同于:nth-last-of-type(1)
E:only-child 匹配父元素下仅有的一个子元素。如果父级有多个子元素,那么样式不起作用
E:only-of-type 匹配父元素下使用E标签的唯一一个子元素,如果父级有多个标签为E的子元素,那么样式不起作用
E:empty 匹配一个不包含任何子元素标签为E的元素,【标签可省略】注意,文本节点也被看作子元素 :empty { background:#f00; }
CSS3反选伪类
E:not(s) 匹配不符合当前选择器的任何元素 :not(p) { border:1px solid #ccc; }
CSS3:target伪类
E:target 匹配文档中特定”id”点击后的效果[页面内部的锚链接指向的id]
  1. 伪元素选择器
选择器 含义 示例
E:first-line 匹配E元素的第一行 p:first-line { font-weight:bold; color;#600; }
E:first-letter 匹配E元素的第一个字母 .preamble:first-letter { font-size:1.5em; font-weight:bold; }
E:before 在E元素之前插入生成的内容 .cbb:before { content:”"; display:block;background:url(top.png) no-repeat 0 0; margin:0 0 0 -18px; }
E:after 在E元素之后插入生成的内容 a:link:after { content: ” (” attr(href) “) “; }
  • 常用选择器

1. :hover

1.1. 我们常用的锚链接(a:hover)鼠标悬停在链接上字体变色:

a:hover{color:#f00;text-decorate:none;}

1.2. :hover伪类不是a标签特有,几乎所有标签都有该伪类,且它的浏览器兼容­­性好。用:hover可以让一个区域在鼠标滑过显示不同的样式。

代码:
11
效果:1-2
2. :before /:after【注意:使用该类伪属性:必须写content:””;】
2.1.可以在清浮动起作用
2.2.制作对话框效果时对话框侧边的边角。
代码:
css代码:
ba-1
html代码:
ba-2
效果:
ba-3
2.3. 添加小图标,可以减少标签和类的使用。
代码:
ba-4
效果:
ba-5
这个例子中,使用伪属性:before和:after可以减少至少两个标签,两个类的编写。
2.4. 用content:"(" attr(href) ")" 获取锚链接指向的网址,即使链接改变不需要手动修改HTML页。
代码:
bq-7
效果:
ba-8
3. :first-child/:last-child
3.1. 比如在一个具有相同样式的一组元素里,第一个或最后一个元素与其它元素样式略有不同。(:first-child/:last-child用途类似,下面举例:first-child。)
代码:
2-1
效果:
2-2

【附】:CSS命名建议(从1.可读性和可维护性。2.易修改性。3.公共样式的复用性 三点出发考虑命名。)

  • 布局类:header, footer, container, main, content, aside, page, section
  • 包裹类:wrap, inner
  • 区块类:region, block, box
  • 结构类:hd, bd, ft, top, bottom, left, right, middle, col, row, grid, span
  • 列表类:list, item, field
  • 主次类:primary, secondary, sub, minor
  • 大小类:s, m, l, xl, large, small
  • 状态类:active, current, checked, hover, fail, success, warn, error, on, off
  • 导航类:nav, prev, back,next, breadcrumb, forward, indicator, paging, first, last
  • 交互类:tips, alert, modal, pop, panel, tabs, accordion, slide, scroll, overlay,
  • 星级类:rate, star
  • 分割类:group, seperate, divider
  • 等分类:full, half, third, quarter
  • 表格类:table, tr, td, cell, row
  • 图片类:img, thumbnail, original, album, gallery,logo
  • 语言类:cn, en
  • 论坛类:forum, bbs, topic, post
  • 方向类:up, down, left, right
  • 其他语义类:btn, close, ok, cancel, switch; link, title, info, intro, more, icon; form, label, search, contact, phone, date, email, user; view, loading,joinus,vote,tab,banner,hot... 
  1. 单词组合命名,用连字符”-(减号)”连接,单词组合体现模块功能或者是模块内容。如: .article-hd(文章头部);  .page-tt (页面标题)
  2. 特殊化class,可以采用前缀/后缀来命名。如: 用户页的页面标题用: . user -page-tt 。
  3. 对于公用样式,命名最好多体现其功能,如: sidebar/subnav/left-page… ,并降低其权重;对于相对稳定的样式,可以跟内容结合:如goods-name/goods-intro/user-info…。

CSS选择器HTML示例地址:
\\192.168.0.18\运维网络硬盘\y袁亮\p培训\前端文档临时存放\示例文件\CSS选择器示例

【前端技术文档】Float浮动

整 理:徐秀、晋哲

时 间:2015-10-23

说 明:float浮动原理、用法、清浮动方法


一、什么是float

float是在传统的印刷布局中,使文本可以按照需要围绕图片的布局方式。一般把这种方式称为“文本环绕”。浮动的元素仍然是网页流的一部分。浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。 由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。故而浮动框会影响相邻的元素样式表现。

二、float应用

float的可用值: t1 1.图文环绕的浮动效果。 设置img{float:right;} 1 2.替代无表格的首页布局 .sidebar{float:left;width:200px;...} main{margin-left:200px;...} 2 3.创建水平菜单栏 设置li{float:left;...}的效果。 3 设置li{display:inline-block;...}的效果。 4 4.创建段首字母悬浮于左侧 5

三、float的影响。

1.无法撑开父级的高度。 2.影响同级非浮动元素样式的表现。 3.ie6中float元素双边距bug。

四、 float的清除方法。

1. 清除对父级高度的影响 1.1. 指定父级高度。【不推荐】 1.2. 为父级渲染BFC(块级格式化上下文)【推荐,具体方法,量情况而定】 1.2.1.  父级overflow不为visible;可为(auto/hidden) 1.2.2.  父级设置display:inline-block/table-cell/table-caption/ flex/inline-flex; 1.2.3.  父级也设float 。 1.2.4.  父级设置绝对定位;position:absolute; 1.3 父级定义伪类:after;并设置父级zoom:1【推荐,某宝就使用的该方法】 way1: .clearfix:after{display:block;clear:both;content:"";visibility:hidden;height:0} .clearfix{zoom:1} way2:  .cf:before, .cf:after {content:"";display:table;} .cf:after {clear:both;} .cf {zoom:1;} 2. 清除对同级非浮动元素影响 2.1  为后面的非浮动元素添加“clear:both;”【推荐】 2.2  在浮动元素后面添加一个空的div,样式设置为clear:both;”【不推荐】 3. 清除IE6下的双边距bug。 问题描述:如果给元素设置了float,并设置了水平方向的margin【比如margin-left:100px】,会IE6下会出现margin-left:200px的显示效果。 解决方法:设置浮动元素的display:inline-block.