一、resize实现图片对比

resize的语法如下:

resize:none | both | horizontal | vertical

案例效果如下图 (鼠标移到左下角白色区域,往右侧拖动,实现图片对比效果)

我应用到了resize的如下代码:

resize: horizontal;

可以水平拉伸!

二、:not()的应用技巧

我们平时在书写导航栏分割线的时候,最后一个标签是没有分割线的,我们一般的写法如下:

/* 先给所有添加右侧边框 */
.nav li {
border-right: 1px solid #666;
}
/* 再去除最后一个边框 */
.nav li:last-child {
border-right: none;
}

运用:not()之后如下书写:

.nav li:not(:last-child) {
border-right: 1px solid #666;
}
.nav li:first-child ~ li {
border-left: 1px solid #666;
}

我们在用逗号分隔的列表,最后一个让他没有逗号,写法如下:

ul > li:not(:last-child)::after {
content: ",";
}

not的应用,让我们方便了不少,节省了一些代码!

三、任意元素垂直居中

关于css垂直居中,代码如下:

html, body {
height: 100%;
margin: 0;
} body {
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-flex;
display: flex;
}

当然,这个有一定的兼容问题!不过现代浏览器是没有问题的!

四、表格单元格等宽

用如下代码可以让表格单元格等宽

.haorooms{
table-layout: fixed;
}

五、使用Flexbox摆脱各种Margin Hacks

实现侧栏时,我们不再需要各种nth-、first-和last-child等设置margin,可以使用Flexbox轻松实现均匀分布!代码如下:

.list {
display: flex;
justify-content: space-between;
} .list .person {
flex-basis: 23%;
}

六、给空连接使用属性选择符

我们还可以给空a标签添加属性,代码如下:

a[href^="http"]:empty::before {
content: attr(href);
}

七、初始化box-sizing

从html中继承box-sizing属性,这样的话,后期维护比较方便。

html {
box-sizing: border-box;
} *, *:before, *:after {
box-sizing: inherit;
}

八、在nth-child中使用负数

nth-child中使用负数,可以选择小于等于某个数的值,例如:

li:nth-child(-n+4){background:red}

小于等于4的li,显示为红色!

还可以如下应用:

li {
display: none;
} li:nth-child(-n+3) {
display: block;
}

上面代码的含义是,我们让前三个li显示(小于等于3的),其他的li都隐藏!

九、文本显示优化

html {
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}

上面代码可以让字体在我们的设备中最优显示!

十、border的应用技巧!

border的应用还是蛮广泛的!我之前在慕课网的课程 html5左侧导航,讲了三道杠的书写!,是运用了box-shadow,关于文章,具体请看:http://www.haorooms.com/post/box_shadow_css

但是呢,这个是css3的属性,今天给大家讲运用border书写三道杠,兼容性很好!代码如下:

width:40px;height:7px;
color: #999;
border-top:18px double;
border-bottom: 6px solid;

运用border的double属性,可以轻松绘制三道杠,兼容性很好!并且,大家注意的是:border-color可以继承color,我们只要修改color的值,就可以修改border-color的值!

十一、vertical-align 属性

vertical-align 只在行内元素,或者inline、inline-block等中才起作用。当我们在某个div中使用垂直居中是不管用的,

除此之外,vertical-align 还支持数值和百分比!

我们可以如下写:

.haorooms{vertical-align:-2px;}
.haorooms{vertical-align:-10%;}

这个负值和 margin-bottom类似,但是呢,vertical-align可以将父级元素撑大!

十二、margin重叠解决方案列举

1、父级元素bfc ,

2、父级元素给一个padding

3、父级元素给一个border

4、子元素前面加任意一个空的内联元素,(例如:span、nbsp等等)

提高你css技能的css开发技巧(转载)的更多相关文章

  1. 提高你css技能的css开发技巧

    好久没整理博客了 进来啰嗦两句   继续抄别人的博客 一.resize实现图片对比 resize的语法如下: resize:none | both | horizontal | vertical 案例 ...

  2. 移动端web开发技巧 -- 转载

    META相关 1. 添加到主屏后的标题(IOS)<meta name="apple-mobile-web-app-title" content="标题"& ...

  3. CSS学习笔记总结和技巧

    跟叶老师说项目,他叫我写一个静态首页,看起来挺简单的,但是下手才发现在真的不会怎么下手啊,什么模型啊模块啊都不懂,写毛线啊!! 如图:页面下拉还有侧栏,中间内容等. 可是答应跟老师做了,不能怂啊,于是 ...

  4. 提高 web 应用性能之 CSS 性能调优

    简介 Web 开发中经常会遇到性能的问题,尤其是 Web 2.0 的应用.CSS 代码是控制页面显示样式与效果的最直接“工具”,但是在性能调优时他们通常被 Web 开发工程师所忽略,而事实上不规范的 ...

  5. (webstorm的CSS插件)前端开发必备!Emmet使用手册

    介绍 Emmet (前身为 Zen Coding) 是一个能大幅度提高前端开发效率的一个工具: 基本上,大多数的文本编辑器都会允许你存储和重用一些代码块,我们称之为“片段”.虽然片段能很好地推动你得生 ...

  6. [转]提高 web 应用性能之 CSS 性能调优

    简介 Web 开发中经常会遇到性能的问题,尤其是 Web 2.0 的应用.CSS 代码是控制页面显示样式与效果的最直接“工具”,但是在性能调优时他们通常被 Web 开发工程师所忽略,而事实上不规范的 ...

  7. 前端开发人员要注意的css规范,css命名。

    刚工作的时候也没注意关于css的规则,根据自己的心情想怎么用就怎么用,完成工作就好不会考虑代码的可读性,加载的性能,现在身为前端的一员就要有程序员的自我修养(嘿嘿,是不是很有责任感啊). 废话不多说, ...

  8. CSS兼容性(IE和Firefox)技巧大全

    CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理技巧并整理了一下.对于web2.0的过度,请尽量用xhtml格 ...

  9. css选择器顺序的小技巧

    在线演示 本地下载 css的选择器的顺序其实很有意思,如果应用的好的话,可以做一些简单的逻辑出来,配合上css3,就可以尽可能的脱离js了. 这里的演示是一个带有hover事件的四张照片,效果来自一个 ...

随机推荐

  1. java 事件监听 - 键盘

    java 事件监听 - 键盘 //事件监听 //键盘事件监听,写了一个小案例,按上下左右,改变圆形的位置,圆形可以移动 import java.awt.*; import javax.swing.*; ...

  2. seaJs的简单应用

    sea.js的应用模块化: 将Js代码按模块化分开,提高了代码的重用性:seaJs的好处: 解决了文件的依赖 解决了变量名的冲突seaJs的使用 1.定义模块 define(function(requ ...

  3. vs 配置宏

    Win_$(PROCESSOR_ARCHITECTURE)_$(PlatformArchitecture) <==> Win_x86_64 OR Win_x86_32$(Configura ...

  4. Cookie实现商品浏览记录--方式二:JS实现

    使用Cookie实现商品浏览记录:方式二:JS方法实现cookie的获取以及写入.当某一个产品被点击时,触发JS方法.利用JS方法判断一下,此产品是否在浏览记录中.如果不存在,则将产品ID加入到coo ...

  5. js 取得 Unix时间戳(Unix timestamp)

    js 取得 Unix时间戳 Unix时间戳(Unix timestamp),或称Unix时间(Unix time).POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间19 ...

  6. .NET MEF入门级例子

    学习新东西,喜欢从简单的例子入手,感觉理解和上手会快点,本文记录下我做的一个简单的mef的例子,至于理论的话百度,谷歌多的去了. Mef可以在你调整了某些功能的时候不需要重新去做代码,只需要换掉相应的 ...

  7. Druid安装-单机

    单机版安装 下载安装包http://static.druid.io/artifacts/releases/druid-0.9.1.1-bin.tar.gz 安装  解压缩 安装zookeeper cu ...

  8. html 学习资料列表

    HTML 教程 HTML 简介 html div 标签介绍 html span 标签介绍 html a 超链接标签 HTML Br换行标签介绍 HTML P段落标签介绍 HTML br与p标签区别 H ...

  9. Shell中取得文件的最后修改时间

    stat -c %y file 取得修改日期 -,-,-

  10. Partitioning & Archiving tables in SQL Server (Part 1: The basics)

    Reference: http://blogs.msdn.com/b/felixmar/archive/2011/02/14/partitioning-amp-archiving-tables-in- ...