我们在埋头写代码的时候,还要学会收集整理一些常用的代码小技巧,以便在工作时候,可以及时调取,提高工作效率。

今天,我把之前收集整理的一些CSS代码小技巧分享出来,供你参考学习,希望对你有帮助。

一、CSS书写顺序

1.位置属性(position, top, right, z-index, display, float等)
2.大小(width, height, padding, margin)
3.文字系列(font, line-height, letter-spacing, color- text-align等)
4.背景(background, border等)
5.其他(animation, transition等)

二、CSS书写规范

1、使用CSS缩写属性

CSS有些属性是可以缩写的,比如padding,margin,font等等,这样精简代码同时又能提高用户的阅读体验。

2、去掉小数点前的“0”

3、简写命名

很多用户都喜欢简写类名,但前提是要让人看懂你的命名才能简写哦!

4、16进制颜色代码缩写

有些颜色代码是可以缩写的,我们就尽量缩写吧,提高用户体验为主。

5、连字符CSS选择器命名规范

1.长名称或词组可以使用中横线来为选择器命名。

2.不建议使用“_”下划线来命名CSS选择器,为什么呢?

  • 输入的时候少按一个shift键;

  • 浏览器兼容问题 (比如使用_tips的选择器命名,在IE6是无效的)

  • 能良好区分JavaScript变量命名(JS变量命名是用“_”)

6、不要随意使用Id

id在JS是唯一的,不能多次使用,而使用class类选择器却可以重复使用,另外id的优先级优先与class,所以id应该按需使用,而不能滥用。

7、为选择器添加状态前缀

有时候可以给选择器添加一个表示状态的前缀,让语义更明了,比如下图是添加了“.is-”前缀。

三、CSS命名的一些规范

 

1、常用的CSS命名规则

头:header
内容:content/container
尾:footer
导航:nav
侧栏:sidebar
栏目:column
页面外围控制整体佈局宽度:wrapper
左右中:left right center
登录条:loginbar
标志:logo
广告:banner
页面主体:main
热点:hot
新闻:news
下载:download
子导航:subnav
菜单:menu
子菜单:submenu
搜索:search
友情链接:friendlink
页脚:footer
版权:copyright
滚动:scroll
内容:content
标签:tags
文章列表:list
提示信息:msg
小技巧:tips
栏目标题:title
加入:joinus
指南:guide
服务:service
注册:regsiter
状态:status
投票:vote
合作伙伴:partner

2、注释的写法:

/* Header */
内容区
/* End Header */

3、Id的命名:

 

(1)、页面结构

容器: container
页头:header
内容:content/container
页面主体:main
页尾:footer
导航:nav
侧栏:sidebar
栏目:column
页面外围控制整体佈局宽度:wrapper
左右中:left right center

(2)、导航

导航:nav
主导航:mainnav
子导航:subnav
顶导航:topnav
边导航:sidebar
左导航:leftsidebar
右导航:rightsidebar
菜单:menu
子菜单:submenu
标题: title
摘要: summary

(3)、功能

标志:logo
广告:banner
登陆:login
登录条:loginbar
注册:register
搜索:search
功能区:shop
标题:title
加入:joinus
状态:status
按钮:btn
滚动:scroll
标籤页:tab
文章列表:list
提示信息:msg
当前的: current
小技巧:tips
图标: icon
注释:note
指南:guild
服务:service
热点:hot
新闻:news
下载:download
投票:vote
合作伙伴:partner
友情链接:link
版权:copyright

注意事项:

1、一律小写;
2、尽量用英文;
3、不加中槓和下划线;
4、尽量不缩写,除非一看就明白的单词。

4、CSS样式表文件命名

主要的 master.css
模块 module.css
基本共用 base.css
布局、版面 layout.css
主题 themes.css
专栏 columns.css
文字 font.css
表单 forms.css
补丁 mend.css
打印 print.css

四、一些比较偏而实用的 CSS 样式

(1)::-Webkit-Input-Placeholder

input 的 H5 placeholder 属性,很好用,但不能直接改这个文字颜色,所以目前的解决方法就是用::input-placeholder属性来改。

小Tips: 配合 opacity 属性使用效果更佳哦!

::-webkit-input-placeholder { /* Chrome/Opera/Safari */  color: pink;}::-moz-placeholder { /* Firefox 19+ */  color: pink;}:-ms-input-placeholder { /* IE 10+ */  color: pink;}:-moz-placeholder { /* Firefox 18- */  color: pink;}

 

(2)@Impor 嵌套样式表文件

使用它可以在样式表再次内嵌套样式表文件,比如一些组件 CSS可以使用,但不太推荐使用这个,因为加载时有可能会被漏掉。

@import url("reset.css");@import url("global.css");  @import url("font.css");

 

(3)Outline 当点击Input元素时显示的当前状态线(外发光)

这个状态线是用来提示用户当前状态指示作用,但因为效果很美观,建议去掉,或自己改个样式

div {    outline: none; //移动浏览器默认的状态线    // outline: 5px dotted red; 也可以设置样式}

 

(4)Contenteditable 设置Element是否可编辑

<p contenteditable="true">可编辑</p>

 

(5)Webkit-Playsinline

手机video 都可以在页面中播放,而不是全屏播放了。

<video id="myvideo" src="test.mp4" webkit-playsinline="true"></video>

 

(6)Position: Absolute, 让Margin有效的

设置left:0, right:0 就可以。原因是2边都是0不存在边距,element就可以得出距离,并居中。

div {    position: absolute;    left: 0;    right: 0;    margin: 0 auto;}

 

(7)使用 Clearfix 清楚浮动,解决父类高度崩塌

.clearfix {zoom: 1;}.clearfix:after {     visibility: hidden;     display: block;     font-size: 0;     content: " ";     clear: both;     height: 0; }

 

(8)User-Select 禁止用户选中文本

div {    user-select: none; /* Standard syntax */}

 

(9)清除手机Tap事件后Element 时候出现的一个高亮

*{    -webkit-tap-highlight-color: rgba(0,0,0,0);}

 

(10)::-Webkit-Scrollbar-Thumb

可以修改谷歌的滚动条样式,safari好像也可以

(11)-Webkit-Appearance:none

  1. To apply platform specific styling to an element that doesn’t have it by default

  2. To remove platform specific styling to an element that does have it by default

移除浏览器默认的样式,比如chrome的input默认样式

input, button, textarea, select {*font-size: 100%;-webkit-appearance:none;}

 

(12)CSS开启硬件加速

-webkit-transform: translateZ(0);

(13)使用CSS Transforms 或者 Animations时可能会有页面闪烁的Bug

-webkit-backface-visibility: hidden;

(14)*-Webkit-Touch-Callout 禁止长按链接与图片弹出菜单

-webkit-touch-callout: none;

(15)Transform-Style: Preserve-3d 让元素支持3d

div {    -webkit-transform: rotateY(60deg); /* Chrome, Safari, Opera */    -webkit-transform-style: preserve-3d; /* Chrome, Safari, Opera */    transform: rotateY(60deg);    transform-style: preserve-3d;}

 

(16)Perspective 透视

这个属性的存在决定你看到的元素是2d还是3d。一般设置在包裹元素的父类上。

.div-box {perspective: 400px; }

(17)Css实现不换行、自动换行、强制换行

//不换行white-space:nowrap;//自动换行word-wrap: break-word; word-break: normal; //强制换行word-break:break-all;

 

(18)Box-Sizing 让元素的宽度、高度包含Border和Padding

{    box-sizing: border-box;}

(19)Calc() Function, 计算属性值

https://www.w3schools.com/cssref/func_calc.asp

div {    width: calc(100% - 100px);}

上面的例子就是让宽度为100%减去100px的值,项目中很适用,要IE9以上兼容。

 

(20)Css3 Linear-Gradient 线性渐变

默认开始在top, 也可以自定义方向。

div {    linear-gradient(red, yellow)}background: linear-gradient(direction, color-stop1, color-stop2, ...);

 

(21)常用的选择器 :Nth-Child() Selector

以下代码是选择父类下第一个子节点,p元素,建议学习这个样式属性的使用,很实用的。

p:nth-child(1) {    ...}

今天,就介绍到这里,如果你有好的 CSS 代码,欢迎在留言处提交给我们,我们一起收录进来!

以上来自前端媛猿公众号;

链接   https://mp.weixin.qq.com/s/8rjAiFVO3v7lNE6uNYYoZQ

---------分割线----------

下面是补充:

1.   -webkit-appearance:none;

2.user-select:none;

等等  还有好多 ,有空再补吧

原来你一直写错了?!实力分享一波 CSS 使用的书写规范顺序与偏门又实用的样式...的更多相关文章

  1. css命名和书写规范

    前言 在项目开发中对于css名字的命名和书写老是感觉很混乱,这对于代码的可读性以及维护提出了挑战,所以在闲暇之余看了一些这方面的内容,现总结如下... 1.命名规则说明 所有的命名最好都小写 属性的值 ...

  2. css学习_css书写规范

    css书写规 1.空格规范: div { color: red; } 2.选择器规范 3.属性 属性定义要另起一行 属性定义后必须以分号结尾 div { color: red; font-size: ...

  3. 分享给大家的CSS书写规范、顺序

    写了这么久的CSS,但大部分前端er都没有按照良好的CSS书写规范来写CSS代码,这样会影响代码的阅读体验,这里总结一个CSS书写规范.CSS书写顺序供大家参考,这些是参考了国外一些文章以及我的个人经 ...

  4. 写给自己的web总结——css篇(1)

    上一篇写了关于html的知识,算是小试牛刀,这次来尝试写一下css. 初步了解css css的全称为cascading style sheet-- 层叠样式表,通过编入代码来对html里的标签做出各种 ...

  5. 兄弟连教育分享:用CSS实现鼠标悬停提示的方法

    兄弟连教育分享:用CSS实现鼠标悬停提示的方法 本文,兄弟连HTML5培训,分享了纯CSS实现鼠标悬停提示的方法.给大家供大家参考.具体分析如下: 这是一款比较漂亮的鼠标悬停提示效果,用纯CSS代码实 ...

  6. 好程序员web前端分享12个CSS高级技巧汇总

    好程序员web前端分享下面这些CSS高级技巧,一般人我可不告诉他哦. 使用 :not() 在菜单上应用/取消应用边框 给body添加行高 所有一切都垂直居中 逗号分隔的列表 使用负的 nth-chil ...

  7. css书写规范以及如何写出赏心悦目的代码

    css书写规范: 1. 编码统一为utf-8;2. 协作开发及分工: i根据各个模块, 同时根据页面相似程序, 事先写好大体框架文件,同时根据页面相似程序,事先写好大体框架文件.共用css文件base ...

  8. 如果$.ajax函数迟迟得不到响应,那么最有可能出错的地方是请求参数写错了

    如下的$.ajax函数 $.ajax({ url: url,// 请求的地址 data:{id:id,pieceId:pieceId,pieceDesc:pieceDesc,actualStock:a ...

  9. php框架tp3.2.3和js写的微信分享功能心得,分享的标题内容图片自定义

    https://blog.csdn.net/weixin_42231483/article/details/81585322 最近用PHP的tp3.2.3框架和js写的微信分享功能心得,分享的标题内容 ...

随机推荐

  1. VTK7.0.0编译安装心得

    配置:Win7(64bit)+VS2013+VTK700+QT5 (为了编译适应所用工业设备32bit,所有编译凑在32bit下进行) 预安装: (1)安装CMake软件,用于编译重构VTK源文件,编 ...

  2. Delphi XE5 图解为Android应用制作签名

    http://redboy136.blog.163.com/blog/static/107188432201381872820132 Delphi XE5 图解为Android应用制作签名 2013- ...

  3. ReportMachine OCX

    http://rmachine.haotui.com/thread-55-1-1.html 偏高偏低提示 [IF( [RMDBDataSet1."abnormalIndicator" ...

  4. java多线程 —— 两种实际应用场景模拟

    最近做的偏向并发了,因为以后消息会众多,所以,jms等多个线程操作数据的时候,对共享变量,这些要很注意,以防止发生线程不安全的情况. (一) 先说说第一个,模拟对信息的发送和接收.场景是这样的: 就像 ...

  5. 【转一篇出处不明的文章】 Windows多线程通信方式

    多线程通信的方法主要有以下三种: 1.全局变量 进程中的线程间内存共享,这是比较常用的通信方式和交互方式.注:定义全局变量时最好使用volatile来定义,以防编译器对此变量进行优化. 2.Messa ...

  6. linux系统编程之进程(三):进程复制fork,孤儿进程,僵尸进程

    本节目标: 复制进程映像 fork系统调用 孤儿进程.僵尸进程 写时复制 一,进程复制(或产生)      使用fork函数得到的子进程从父进程的继承了整个进程的地址空间,包括:进程上下文.进程堆栈. ...

  7. IIS配置404页面配置,IIS自定义404页面

    .NET 环境下 用到404页的场景一般有两种: 场景一:报黄页,程序性的错误,代码层可以捕捉到的. 场景二:用户输入不存在的页面,代码层捕捉不到的. IIS 默认会有404的配置,不过这种呈现出的都 ...

  8. LINQ to objects遇到的小坑

    1.C#中LINQ to Objects中延迟查询的陷阱(其他类型的LINQ也基本一致) 之前在不了解LINQ延迟查询的时候,我使用下面的这种方式,将where语句的结果直接as为List<T& ...

  9. NET Core应用框架之BitAdminCore框架应用篇系列

      BitAdminCore是基于NET Core2.0的后端快速开发框架,本篇主要目标是介绍如何使用框架开发应用.框架的一些特性等. BitAdminCore核心特性: 保留行业规范,减少学习成本. ...

  10. (二)Mahapps标题栏

    一.MetroWindow 是什么? 1.默认的MetroWindow由以下几部分组成: (1)标题栏的显示/不显示: ShowTitleBar="False" (2)调节柄并不是 ...