sublime常用的插件介绍

整  理:肖雅君
时  间:2015-12-18
说  明:sublime常用的插件介绍

一、安装插件的基本条件

1. 前提

2. 两种安装方法

二、插件介绍

1. 插件emmet

2. Emmet LiveStyle

3. Bracket Highlighter插件

4. Trailing Spaces高亮空白区域

5. JsFormat:js格式化的插件

附:Barcakets插件安装:

插件位置:\\192.168.0.18\运维网络硬盘\y袁亮\p培训\55分享2015-12-16(前端)\sublime提高开发效率的几个插件

参考链接: http://www.cnblogs.com/hykun/p/sublimeText3.html

 

Sublime高效率前端编辑插件

一、安装插件的基本条件

1.前提:

(1)需要sublime text3

(2)安装任何插件都得先安装package control插件管理。

2.两种安装方法:

1)自动安装:先按键ctrl+` ,再将安装代码复制进去;

1

安装代码:import urllib.request,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a3098092775ccb37ca9d6b2e4b7d'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

(2)手动安装:

直接下载Package Control插件,放到sublime安装目录下的Installed Packages目录下,如下图:

23

二、插件介绍

1. 插件emmet

缩写+自动生成-提高开发效率,需了解简单的语法规律

Emmet语法:http://yanxyz.github.io/emmet-docs/abbreviations/syntax/

2. Emmet LiveStyle

实时刷新双向修改

(1)第一步:安装插件

法一:

自动安装:ctrl+shift+p打开安装包管理器,输入PCI后,输入LiveStyle:如下图

5

法二:

手动安装:同上将插件放到Installed Packages目录下。

(2)第二步:在浏览器上安装Emmet LiveStyle插件

6

(3)第三步:使用步骤

用sublime打开样式文件;浏览器打开html文件后F12,即可看到安装后的插件:勾选Enable LiveStyle for current page,再将样式文件的目录复制到liveStyle里即可。然后就能实行双向修改了。如下图:

7

3.  Bracket Highlighter插件

用于匹配括号,引号和html标签。

对于很长的代码很有用。安装好之后,不需要设置插件会自动生效.【安装过程同上】

图示:

9

如图:如果代码的标签是成对的,则会显示两个小图标;如果标签并不是成对的,则会显示”小问号“。

10

4. trailing Spaces高亮空白区域

此插件自动将无效的有空白区域的代码显示出颜色来。

一键删除所有空格设置:

需要配置快捷键:在preferences/key binding-user,加上如下代码:

{ "keys": ["ctrl+shift+t"], "command": "delete_trailing_spaces" }

操作如下图:

1112

5. JsFormat

js格式化的插件,安装方式同上,效果图如下:19

附:Barcakets开发软件的插件安装方法

(1)emmet 直接点击右边的小商品标志

13

输入插件名,自动安装完毕:

14

(2)显示小图标插件:Brackets Icons

效果图如下:

16

参考链接: http://www.cnblogs.com/hykun/p/sublimeText3.html

http://www.xuanfengge.com/practical-collection-of-sublime-plug-in.html

 

注:若是直接拷贝插件安装,需注意几个插件安放的位置不一样:

插件位置:\\192.168.0.18\运维网络硬盘\y袁亮\p培训\55分享2015-12-16(前端)\sublime提高开发效率的几个插件

(1)两个插件文件夹放在:Packages文件夹下,通过Preferences>Browse Packages打开:

17(2)非文件夹插件放在Packages上级的Install Packages目录下:

18

 

【前端技术文档】chrome调试功能

整  理:曹燕
时  间:2015-12-18
说  明:chrome调试功能的介绍

1.Elements面板——DOMchrome调试功能30

左侧展示了dom树,在某个dom节点上点击右键会出现操作菜单,常用功能:增加属性、编辑属性、以html形式编辑代码、复制css路径、复制Xpath路径、剪切/复制/粘贴/删除代码、设置断点。

左侧底部显示当前节点的所有祖先节点。

右侧面板主要包括5个功能块。①Styles:按权重从大到小顺序显示所选元素的css样式,可以进行修改,页面会实时响应变化;下方是盒模型图;②Computed:所选元素的最终样式,只可读不可修改;③Event Listeners:显示绑定到当前元素的事件监听函数;④Dom Breakpoints:显示dom中设置的断点,便于调试;⑤Properties:显示元素作为dom对象的各个属性。

2.Network面板——请求加载chrome调试功能359

上图分为7列,从左到右分别是Name、Status、Type、Initiator、Size、Time和Timeline。①Name表示加载的文件名;②Status表示状态码(200为请求成功,304表示从缓存读取);③Type表示文件的MIME Type的类型;④Initiator表示发出这个文件请求的发出者;⑤Size表示文件大小;⑥Time表示每个请求的总时长;⑦Timeline显示了请求和加载情况(Timeline中鼠标移到每个时间条上的时候,会显示整个请求的详细信息)。通过它可以看到哪些请求是同时发出的,哪些请求被阻塞了。Timeline中有一条蓝线和一条红线,蓝线表示DOM Content Loaded事件触发的时间,红线表示 Window onload事件触发的时间。

点击某个请求会显示该请求的具体信息:chrome调试功能725

顶部的选项卡将请求的文件进行了分类,便于查看,如:XHR、JS、CSS、Img、Media、Font、Doc、Websockets和Other。

底部显示了网页请求的整体加载信息,如:请求个数、传输大小、dom结构加载时长、页面加载完成总时长。

3.Sources面板——样式脚本chrome调试功能867

显示所有加载的html、css和js资源,可以实时编辑css或js文件。右侧显示监听、事件绑定以及断点信息。常用于设置断点来调试js。

设置断点调试js可参考:http://segmentfault.com/a/1190000004123527

4.Timeline面板——页面加载chrome调试功能1070

Timeline跟Network有类似的地方,他们都是按照页面的加载时间来统计数据的,不过Timeline统计的数据侧重点不一样。Timeline主要统计了三个数据:Loading,Scripting,Rendering。

点击时间线上的任意位置,可以查看在这个点的详细信息。

5.Profiles面板——CPU信息chrome调试功能1230

Profile记录的主要是CPU和内存占用的信息。点击start按钮,开始记录CPU使用信息,刷新页面,等页面加载完成之后点击stop按钮,完成录制。chrome调试功能1232

上图的左边两列是时间,第一列是self,第二列是total,self表示函数自己的运行时间,不包含调用其他函数的时间,而total表示这个函数运行的总时间。第三列是运行的函数。通过比较时间的百分比可以找出性能差的函数进行优化。

6.Resources面板——所有资源信息chrome调试功能1445

Resources显示所有加载的资源,除了Sources面板中的html/css/js文件外,还包括图片文件;并且还可以查看本地存储、会话存储、cookies信息、缓存等。

7.Audits面板——性能检测优化chrome调试功能1552chrome调试功能1554

Audits面板的作用于pagespeed、Yslow类似,用于检测页面的性能,提出优化建议。点击Run按钮,即可得到页面性能的检测结果和优化建议。

8.Console面板——控制台输出chrome调试功能1649

Cosole可以用于输出信息,常用于调试。支持的一些方法函数如下:

  • log(object[, object, ...]),使用频率最高的一条语句:向控制台输出一条消息。支持 C 语言 printf 式的格式化输出。
  • info(object[, object, ...]) ,向控制台输出一条信息,该信息包含一个表示“信息”的图标,和指向该行代码位置的超链接。
  • error(object[, object, ...])在控制台中输出一条错误信息。
  • warn(object[, object, ...])在控制台中输出一条警告信息。
  • assert([, object, ...]) ,断言,测试一条表达式是否为真,不为真时将抛出异常(断言失败)。
  • dir(object) 输出一个对象的全部属性(输出结果类似于 DOM 面板中的样式)。
  • dirxml(node) 输出一个 HTML 或者 XML 元素的结构树,点击结构树上面的节点进入到 HTML 面板。
  • trace() 输出 Javascript 执行时的堆栈追踪。
  • group(object[, object, ...]) 输出消息的同时打开一个嵌套块,用以缩进输出的内容。调用 console.groupEnd() 用以结束这个块的输出。
  • count([title]) 输出该行代码被执行的次数,参数 title 将在输出时作为输出结果的前缀使用。
  • clear() 清空控制台。

 

 

 

VIM PHP IDE的安装步骤

前言

操作文档的链接

文件包所在

\\192.168.0.18\运维网络硬盘\y袁亮\vim-php-ide
  • php-vim-fool.tgz是fool式安装
  • php-vim-full.tgz是full式安装

其实就是相差一个YCM插件,YCM插件需要clang编译,所以比较烦。

FOOL安装

最好要求php5.3.9以上版本,也最好安装php-xml

yum install php-xml

关于自动补全

  • 最好,也至少安装一下ctags不然很多东西用不起了。
  • yum install ctags
  • 如果没有权限安装,那也只能作罢。

fool版的代价是不太友好的自动补全,当然也没有路径补全了=_=

安装步骤:

  • 使用winscpphp-vim-fool.tgz上传到工作用户目录下。
  • 执行指令tar xzvf php-vim-fool.tgz -C ~/
  • 然后就ok了

关于配置文件

  • 位置在~/.vimrc
  • 打开vim ~/.vimrc,先使用zM折叠所有方便查找,za单独打开和关闭折叠。

full安装(其实就是自动补全的差距)

需要安装的外部依赖:

  • git是必须的yum install git
  • gcc gcc-c++ yum install gcc gcc-c++
  • clang 
    • 先添加epel源, yum install epel-release
    • yum install clang
  • python-devel yum install python-devel
  • cmake yum install cmake
  • ctags yum install ctags
  • 可能需要php5.3.9以上的版本,不然需要关闭phpmd检查

安装vim-php

  • 使用winscpphp-vim-full.tgz上传到工作用户的目录下,即~/下面,github太慢,还是直接压缩包来得好。
  • tar xzvf php-vim-full.tgz -C ~/
  • vim ~/.vimrc 查看有没有报错(一般没有),然后:PluginUpdate,时间可能有点久,这不是必要的,可以直接下一步。
  • 进入~/.vim/bundle/YouCompleteMe/, 执行./install.py编译一下,可能比较久。 
    • 提示缺少argparse 安装pip install argparse
    • 如果没有pip,安装yum install python-pip
  • 如果编译失败,请查看依赖有没有安装成功
  • 安装成功后可以在vim下键入:PluginUpdate vim-shippets更新模块。

VIM PHP IDE的基本操作

前言

 安装步骤的链接

关于安装步骤:

  • 分full和fool两个版本,版本差距在自动补全的插件。
  • 最好安装ctags,如果不安装ctags自动补全将不完善,tagbar也无法工作。
  • 可以考虑一下vim的练级攻略

语法检查

文件在保存时会检查语法错误和规范

一共有三种警告:

  • p> php的语法错误, 可以使用:Php主动检查
  • s> 不符合prs2规范, 可以使用:Phpcs主动检查
  • m> 质量检验, 可以使用:Phpmd主动检查

格式修复

vim-php-cs-fixer

nnoremap <silent><F7> :call PhpCsFixerFixDirectory()<CR>
nnoremap <silent><F8> :call PhpCsFixerFixFile()<CR>

F8可以修复一些不符合psr2的规范,但是存在一些问题,如果只是定义了函数名或是类名的一些没有实际作用的代码可能会被删除,安全性有待评估。

自动补全

YCM

full基本操作:

  • 两个字符后开始自动补全
  • tab键选择,shift-tab逆向选择
  • 可以使用ctrl-n向下,或是ctrl-p向上选择

如果是fool版:

  • 不能自动开启补全,不能像图中那样方便。
  • 必须使用<ctrl-x><ctrl-o>开启补全
  • ctrl-nctrl-p无法选择, tab可以使用
  • 其他相同

一般只支持系统函数补全,如果要支持自己编写的函数补全,需要如此:

  1. 在项目顶层目录下执行指令 ctags -R
  2. 必需在项目顶层目录,即ctags文件所在的目录打开vim
  3. 打开文件,不要退出vim,使用NERDTreectrl-p查找和打开文件,如果需要创建文件,可以使用ctrl-p打开文件。
  4. 如果创建了新的类,将必须在项目顶层目录执行ctags -R的指令,当然可以在vim执行:!ctags -R,在不退出vim的情况下更新ctags文件

可以通过tags来实现require的补全

对于composer的补全,默认composer是全局安装的,好像失败了。

代码块

u

已经将php的模板文件软连接到用户主目录下,可以自行查看修改 
vim ~/php.shippets

?-tab 可以生成这样的代码 <?php ?>

f-tab可以生成这样的代码

function ()
{

}

pub-tab可以生成

/*
 * undocumented function
 * @return void
 * /
public function name($param)
{
    return null;
}

c-tab

class filename
{

}

class-tab可以生成一个带注释的class

文件目录和代码浏览

NERDTree 
NERDTree

F2 打开文件目录 
在NERDTree中按?呼出帮助文档

tagbar

需要安装ctags 
tagbar
F3 打开代码浏览

模糊搜索

ctrl-p 
ctrl-p
基本不需要设置

ctrl-p 打开模糊搜索

ctrl-k  ctrl-j 可以在搜索结果中上下选择 
ctrl-t 在新标签页打开 
ctrl-v 分割打开 
ctrl-y 新建文件, 需要先敲入路径和文件名

html tag跳转

在一个html tag上使用%可以跳转与之匹配的tag

官方文档

将光标移动到需要查看的函数上,使用shift-k,就可以查看官方文档a。

符号补全

在使用', ", (, [, {时,会自动补全另一半,同时如果再按各个匹配的另一半,则会跳出。

 

全局搜索

可以使用命令

:CtrlSF param

也可以设置

nmap <leader><leader>f <Plug>CtrlSFPrompt

<leader>默认是\,所以快捷就是 \\f

因为是全局搜索,所以不要在太顶层目录使用,具体请查看CtrlSF

多光标

ctrl-n 开启选择/选择下一个 
下面操作需要在ctrl-n执行后 
ctrl-p 取消一个选择 
ctrl-x 跳过一个选择 
详细vim-multiple-cursor

PS: 可以通过结合全局搜索实现重构

注释

\cc 注释当前行 
\cu 反注释当前行 
可以通过shift-v实现多行操作

撤销树

此处输入图片的描述 
gundo

F4呼出撤销树,查看之前的撤销修改

其它一些插件

php.vim

更好的代码高亮

PHP-Indenting-for-vim

在php 和 html代码混杂在一起时提供更好的缩进

vim-airline

状态栏美化

vim-trailing-whitespace

显示多余的空格

 

服务化一般流程

编  写:袁亮
时  间:2015-12-16
说  明:服务化的一般流程

一、理清功能点

    1、找到业务对接人

    2、找同类功能,其他家比较好的是怎么做的

    3、确定功能,可能做什么,哪些不做,后期可能扩展


二、如果在已有的基础上升级

    1、理清原来代码

    2、什么地方,做了什么事

    3、有哪些代码是冗余的

    4、记录文档


三、数据字典设计

    1、根据功能设计数据字典初稿

    2、对照功能点,一个个的过,看是否能实现预期的功能

    3、如果后期要升级,是否好扩展

    4、业务方面能支持的情况下,看是否会有性能瓶颈

    5、是否需要增加冗余字典,查询优化


四、接口列表划分

    1、根据需求,罗列接口列表

    2、重新审查接口列表,是否有重复的

    3、不同接口之间是否有部分做的同样的事,是否需要抽离

    4、重新根据功能进行接口聚合,分类,整理完整列表

    5、拿着接口列表,分别看看需求和现有功能是否能满足

    6、给出完整确认的接口列表


五、定义接口

    1、根据接口列表写注释

    2、需要输入哪些参数,分别代表什么意思

    3、这些参数需要做哪些格式验证

    4、业务方面需要做哪些验证

    5、非查询条件,需要做哪些数据更新操作

    6、接口返回什么


六、根据接口定义写代码

    1、根据接口定义,编写代码

    2、写相应的demo,测试各种情况

    3、监控查看接口返回是否正常

    4、后期做成能自动监控


七、接口文档

    1、编写apidoc需要的注释

    2、生成apidoc文档

    3、更新到文档库

    4、查看文档是否有错误


八、旧项目升级

    1、如果是从旧项目升级,需要将旧数据,写脚本导入写服务中

    2、旧的代码中,所有涉及到这块的,根据之前列的文档,一个个的改成接口调用

    3、改动一处,即进行完整测试,并做相应标记

    4、全部改完之后,整体测试


九、上线

    1、代码上线前,将旧数据转换脚本启动,并跑完

    2、代码通过版本控制器上线,同时转换脚本开启,避免上线过程中产生的新数据未同步

    3、上线测试是否正常,并重点关注error_log

    4、查看旧数据库是否还有数据新增,以及新数据库数据增长是否正常

    5、查看接口监控日志,是否有异常调用

    6、关注用户反馈,自己多测几次正常流程,特别是涉及到改动的地方

移动端前端注意事项

整  理:晋哲

时  间:2015-12-09

说  明:移动端页面需要注意的细节问题


一、移动端固定<meta>标签
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=no">

解释:
第一个meta标签表示:强制让文档的宽度与设备的宽度保持1:1,并且文档最大的宽度比例是1.0,且不允许用户点击屏幕放大浏览;
第二个meta标签是iphone设备中的safari私有meta标签,它表示:允许全屏模式浏览;
第三个meta标签也是iphone的私有标签,它指定的iphone中safari顶端的状态条的样式;
第四个meta标签表示:告诉设备忽略将页面中的数字识别为电话号码

二、细节样式处理,去除移动设备默认交互样式

1、解决 iPhone 横屏时默认会放大文字的问题,设为100%关闭字体大小自动调整功能
html{
 -webkit-text-size-adjust: 100%;
 -ms-text-size-adjust: 100%;
 text-size-adjust: 100%;
}

2、使用无衬线字体
body{font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif;}

3、禁止选中文本(有无文本选中需求,此为可选项)
html, body{
 -webkit-user-select: none;
 user-select: none;
}

4、快速滚动和回弹的效果
body{-webkit-overflow-scrolling: touch;}

5、禁止长按链接与图片弹出菜单
a, img{-webkit-touch-callout: none;}

6、去除移动端点击事件出现的背景阴影,也可更换颜色
a, input{-webkit-tap-highlight-color:transparent;}
注:还有一种妥协的方法是把页面非真实跳转链接的<a>标签换成其它标签,可以解决这个问题。

7、移动端清除输入框内阴影
在iOS上,输入框默认有内部阴影,但无法使用 box-shadow 来清除,如果不需要阴影,可以这样关闭:
input, textarea{
 border: 0; /* 方法1 */
 -webkit-appearance: none; /* 方法2 */
}

8、输入框点击默认会有蓝色外边框线
input{outline: none;}

三、HTML 代码相关

1、自适应布局模式
在编写CSS时,不建议把容器的宽度、高度定死。为达到适配各种手持设备,建议使用自适应布局模式,保证页面在各类浏览设备上都能够正常的显示,无需再次考虑设备的分辨率。

2、块级化<a>标签,或按需求尽可能扩大<a>标签囊括的范围
在触控手机上,为提升用户体验,尽可能的保证用户的可点击区域较大。
p1
3、动画效果中,使用 translate 比使用定位性能高

四、JS 事件相关

1、jQuery文件过大,移动端优先考虑使用zepto.js。实际情况中使用jQuery插件不兼容zepto时再考虑使用jQuery

2、click 事件存在 300ms 的延迟
在手机上绑定 click 事件,会使得操作有 300ms 的延迟,体验并不是很好,通常会使用封装的 tap 事件来代替 click 事件。

五、图片相关

1、使用<img>标签时,需根据实际需求设置[width:100%;]自适应撑满区域,还是设置固定宽高。

2、使用背景图片时,需注意实际用图与移动端呈现尺寸的比例为2:1,所以移动端借助[background-size]属性进行比例缩小,相应的按比例缩小[width]、[height]、[background-position]的值。
p2
3、可以合并的图标图片,尽量整合一张,并进行压缩

4、合并Sprite图时每个图片之间必须留有间距

5、能用CSS样式实现的,代替使用图片

6、较大的背景图片、banner图片等尺寸宽度不需要超过640px,切图时先改变图像大小,再进行压缩。

linux上安装node.js

说明:

使用CentOS系统,进行node.js安装,node.js版本- v0.12.0。

1,先下载node.js:

# wget http://npm.taobao.org/mirrors/node/v0.12.0/node-v0.12.0.tar.gz

//用的淘宝镜像,更快

2,解压文件

# tar xvf node-v0.12.0.tar.gz

 

3,进入解压目录

# cd node-v0.12.0

 

4,检查所需要配置

# ./configure

 

5,如出现以下错误,安装gcc-c++ (安装较新的版本可能会出现)

注意:线上服务器请勿随意升级,建议尝试其他版本的 node.js!!!!!

出现错误提示:

WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)

# yum install gcc-c++

如无,请跳过

 

6,进行安装(时间比较长):

# make install

 

7,检查是否成功安装,输入命令:

# node -v

 

如果安装成功会输出相应版本号,如:

v0.12.0

 

8,现在可以创建一个test.js文件进行测试,文件内容为:console.log('Hello World.');

输入命令:

# node test.js

输出:

Hello World.

 

育网专题评论区改版

整    理:肖雅君

时    间:2015-12-04

更    新:2016-02-26

说    明:育网专题PC端和WAP端使用本公司开发的评论区修改步骤

 

一、PC端

1.公共头部

2.评论部分

二、WAP端

1.添加手机端评论样式

2.头部添加代码

3.底部添加代码

4.分享

 

PC端和WAP端评论区改版

头部+导航+底部+评论区

以前PC端和手机端的的评论部分都是用的“畅言”(畅言是搜狐推出的社会化评论及聚合平台)。但以后育网专题都会采用育儿网仿畅言做出来的评论。暂时尚未做成后台,所以需要前端手动添加各种文档、修改参数。

一、PC

  1. 公共头部

简介:育网公共头部,包含导航和登录的php文件以及头部样式引入。

添加方式:无需拷贝文件,无需改变路径,只需要在对应位置添加两串固定代码。

添加位置:  

<html>
<head>
<?php include "../global/meta.php";?>
</head>
<body>
<?php include "../global/header.php";?>
</body>
</html>

2.“评论”部分

(1)引入评论:

在<!DOCTYPE html>前添加如下代码:

<?php
include_once('../include/global.php');
$id = 11742336;//帖子ID
?>

(2)修改方式:

后台操作:

专题后台链接:http://www.ci123.com/special/sadmin/clearup_list.php?page=4

编辑那边通过后台发布的评论页面有可能是.html文件,(如:http://www.ci123.com/special/sadmin/recommend/recommend.php?code=piyao-ceqie.html),.html文件对应的是“畅言”的评论。

转成育网评论需在后台操作,步骤如下:

将“是否使用妈妈社区评论”选择“是”:

2

本地操作:

第一步:在index.php中添加两个样式文件(固定链接):

在index.php的<head>部分添加“左侧评论块”和右侧“专题推荐”部分的样式文件:

<link rel="stylesheet" href="http://www.ci123.com/special/dajiashuo-pc/styles/reply.css">

<link href="http://www.ci123.com/special/recommend/css/recom-wqhg.min.css" rel="stylesheet" type="text/css">

(*注:“dajiashuo-pc/styles/reply.css”是公共样式,部分专题都已使用这个样式,除非所有的专题评论区都存在共性的问题,否则不得直接修改这个样式文件。只能在自己写的样式文件里写入新样式覆盖dajiashuo-pc的样式。)

第二步:引入评论区:

在index.php的评论部分添加如下代码:

<?php include_once("../recommend/piyao-ceqie.php");?>

第三步:修改帖子ID【重要】

【重要】不同专题的帖子ID是不一样的。同一个专题的手机端和PC端的帖子ID是同样的。

 

二、WAP端

1.添加手机端评论样式

WAP端只需添加一个样式文件。

<link rel="stylesheet" href=" http://m.ci123.com/special/dajiashuo_wap/styles/reply.css">

2.顶部

包括:PC端/WAP端的链接跳转,育网APP分享,代码如下:

<?php
include_once('../inc/global.php');
if(getOsNew()== 'pc'){
header('Location:http://www.ci123.com/special/survey-ceqie/');//链接为专题PC端的链接
exit;
}
$post_id = 10724610;//帖子ID,重要!每一期都要修改
$url = '专题手机端的访问链接';
$share_pic = '专题分享图片';
$msg = '专题分享文案';
$title = '专题标题';
?>
<!DOCTYPE html>
<html>
</html>

3.底部

包括:评论部分+制作团队+“妈妈社区APP推广”+底部版权

重点是评论以及“妈妈社区”,代码如下:

<div class="weibo">
<div class="say"><i></i><span>大家都在说</span></div>
<?php include_once('../inc/reply.php');?>
</div><!--weibo-->
<div class="part-team">
</div><!-制作团队-->
<?php
if($_COOKIE['uid']>0&&strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') === false){
?>
<?php } else {?
<a href="http://app.ci123.com/down/bbs.php?type=2" class="app_pro">
<img src="http://m.ci123.com/special/piyao-gudaiyunyu/images/download.png" width="100%">
</a>
<?php }?>
<div class="footer">
</div><!--版权所有-->

4.分享

简介:手机端另一个和往期专题不同变化是分享。

现在的分享采用两种方式,一种是在微信朋友圈推广,采用微信自带的分享方式。另一种是在妈妈社区APP或是育网APP上的分享按钮。

后端已对这两种方式进行了处理,只有在APP上才会显示分享按钮,微信上并不显示。

但是前端这两种方式都要顾及到,所以需要前端修改两个地方的分享文案

添加方式:

1.添加微信分享:

在index.php中添加如下代码:

<!--微信分享内容区域-->

<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script src="http://m.ci123.com/special/weixin/wx_share.js"></script>
<script type="text/javascript">
$.getJSON('http://m.ci123.com/special/weixin/getAuth.php?PackageUrl='+encodeURIComponent(window.location.href),function(data){
callWeiXin(data);
wxShare('侧切会影响产后“性福”?','顺产侧切真的会影响产后性生活吗?《育网辟谣》告诉你真相!','http://m.ci123.com/special/piyao-ceqie','http://m.ci123.com/special/piyao-ceqie/images/share1.jpg');
});
</script>
<?php include_once('../inc/app_share.php');?>

<!--end 微信分享内容区域-->

 

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),都可以矩阵计算得到相应效果,单计算过程很复杂,此处就不赘述了。有兴趣的小伙伴可以自行学习下。