CSS
TODO
选择器
link
link的四种状态,需要按照下面的前后顺序进行设置:
a:link a:visited a:hover a:active
位置
p:first-of-type /* 首字、首项 */
p:last-of-type
/* 指定某些项,在块状列表和表格中有用
* 火狐 3.5.7、Chrome、Opera 10 中测试通过
* */
.block:nth-of-type(3n+3)
属性
column
创建多栏文本。需要使用 -moz- 或 -webkit- 前缀。Opera 10.60- 不支持。
示例:
div#multicolumn1 {
-moz-column-count: 3;
-moz-column-gap: 20px;
-webkit-column-count: 3;
-webkit-column-gap: 20px;
column-count: 3;
column-gap: 20px;
}
column-countcolumn-gapcolumn-widthcolumn-rule- 中间部分的样式(width, style and color)(火狐也支持)
column-span- 跨栏元素(不被支持)
来源:http://www.quirksmode.org/css/multicolumn.html
text-shadow
text-shadow:[颜色 x轴 y轴 模糊半径],[颜色 x轴 y轴 模糊半径]...
或者
text-shadow:[x轴 y轴 模糊半径 颜色],[x轴 y轴 模糊半径 颜色]...
现在大部分浏览器都支持多层阴影,可以用逗号分开多组设置。
text-shadow的浏览器兼容性
目前 text-shadow 被 Firefox 3.5+,Safari 1.1+/chrome 2.0+和opera 9.5支持,IE不支持。需要注意的是,Safari 只有4.0才支持多层阴影。
- IE 各个版本都不支持 text-shadow;
- Opera 9.5+支持最多6-9层阴影,并使用CSS2渲染顺序(最先定义的阴影在最下面)。而且出于性能的原因,模糊半径被限制到100px;
- Gecko (Firefox)理论上支持无限层text-shadows (不过不建议尝试) 并遵循新的CSS3渲染顺序(最先定义的阴影在最上面);
- Safari 1.1-3.2只支持单层text-shadow (只显示第一个逗号之前的声明而无视后面的)。Safari 4.0+才支持多层阴影以及新的CSS3渲染顺序;
box-shadow
目前只有 Firefox3.5+ 和 safari/chrome 通过私有属性支持 box-shadow 属性。Presto 2.3支持 box-shadow。
box-shadow 的语法和 text-shadow 是一样的。
#boxShadow{
-webkit-box-shadow:2px 2px 2px black;
-moz-box-shadow:2px 2px 2px black;
}
box-shadow 和 border-radius是很好的搭档:
#boxShadow1 {
-moz-border-radius:10px;
-webkit-border-radius:10px;
border-radius:10px;
border:1px solid ddd;
-webkit-box-shadow:0 0 10px black;
-moz-box-shadow:0 0 10px black;
padding:10px;
}
圆角
渐变
element {
background: -webkit-gradient(linear, 0 0, 0 30%, from(#bfbfbf), to(#ffffff));
background: -moz-linear-gradient(top, #bfbfbf, #ffffff 30%);
}
参见Ultimate CSS Gradient Generator - ColorZilla.com。
cursor 属性
已知火狐和Chrome中,支持使用 cursor: none; 来隐藏鼠标指针。
另见:Cross Browser CSS cursor Images In Depth。
Introducing the New Cursor Styles in CSS3 - SitePoint,各种 CSS 2 和 CSS 3 指针形状。浏览器支持可能不准确。
输入法
禁用输入法:
ime-mode: disabled;
滤镜
灰度滤镜,使整个页面变灰色[1]:
html{
filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox */
filter:gray;
-webkit-filter:grayscale(100%); /* Google Chrome */
}
/* for ie 9: */
.SKY *,.LAND *{filter:gray()\9\0}
.Tray {filter:gray(enabled=false)\9\0}
已知对 Opera 无效。对 Internet Explorer 7、8 有效,9 无效。对 IE 6 有效,但是测试搜狗首页时会发生内存错误。
demosthenes.info –Convert Images To Black And White With CSS
@-规则
屏幕方向和分辨率
方向,支持火狐和Google Chrome,不支持Opera 10.10。[2]
<link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css">
<link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css">
@media all and (max-device-width: 400px) {
/* 用于最大宽度400px的样式 */
}
网络字体
@font-face {
font-family: 'JournalRegular';
src: url('fonts/journal.eot');
src: local('Journal'), local('Journal'), url('fonts/journal.woff') format('woff'), url('fonts/journal.ttf') format('truetype'), url('fonts/journal.svg#Journal') format('svg');
}
注意:在火狐中本地文件( file:// )无法使用网络字体。
字符编码
指定编码:
@charset "gb2312";
按文档匹配
如 @document regexp('pattern') 按正则指定应用的页面。也支持一些其它的断言: url 、 url-prefix 、 domain 。[6]。目前(2014年3月11日)仅火狐支持,并且需要使用 -moz- 前缀。
字体
对于 emoji 字体,可以在 font-family 列表最后加上 emoji 字体名,不然可能 fallback 到别的黑白字体上。
参见
在线资源
资料
- 有关文字大小的测试清单
- Eric Meyer 关于清除浮动的方法
- A new micro clearfix hack – Nicolas Gallagher
- cursor | CSS-Tricks - CSS-Tricks
hack
- Box Model Hack
- 欺骗IE5/Win的CSS hack
- 简化的Box Model Hack
外部链接
文档
基础
- CSS选择器笔记 - 阮一峰的网络日志
- CSS阴影详解
- CSS3 Columns
- CSS Content
- CSS的未来:一些试验性CSS属性 | CSS | 前端观察
- 溢出文本显示省略号,关于text-overflow:ellipsis的那些事 - Leeiio Chaos Made.(注:火狐 7+ 已经支持[7])
- Wrapping Long URLs and Text Content with CSS • Perishable Press
- Numbering In Style | CSS-Tricks
- 24 ways: Creating Custom Font Stacks with Unicode-Range
- The Lengths of CSS | CSS-Tricks
- The At-Rules of CSS | CSS-Tricks
技巧
- CSS实现垂直居中的5种方法 | CSS | 前端观察
- Full Browser Width Bars | CSS-Tricks
- CSS3 Patterns Gallery
- CSS3 Buttons | Simple CSS3 framework for creating GitHub style button links
- CSS drop-shadows without images – Nicolas Gallagher
- The Shapes of CSS
- 清理浮动的整理
- Show and Edit Style Element | CSS-Tricks
- Posts / Presentational line numbering — Adam Prescott
- Centering in the Unknown | CSS-Tricks
- Adobe-like Arrow Headers | CSS-Tricks
- Vertically Center Multi-Lined Text | CSS-Tricks
- CSS Ellipsis: How to Manage Multi-Line Ellipsis in Pure CSS | Mobify
- Finer grained control of hyphenation with CSS4 Text - Generated Content by David Storey, CSS4 Text: hyphenate-limit-zone example
- 再说CSS3 animation实现点点点loading动画 « 张鑫旭-鑫空间-鑫生活
- 小tips: 使用 等空格实现最小成本中文对齐 « 张鑫旭-鑫空间-鑫生活
- 小tip:纯CSS让overflow:auto页面滚动条出现时不跳动 « 张鑫旭-鑫空间-鑫生活
- CSS Grid Changes EVERYTHING - Amazing Presentation - YouTube
- How To Do Knockout Text | CSS-Tricks: 使用文字作为图像的蒙板
- mediawiki-extensions-DarkMode/resources/ext.DarkMode.less at master · wikimedia/mediawiki-extensions-DarkMode: 比较通用的暗色模式(也可以改成亮色模式)
浏览器区别
- RGBa色彩的浏览器支持
- Vendor-prefixed CSS Property Overview
- CSS - Contents and compatibility
- SitePoint CSS Reference
- CSS3 Selectors Test
- Css选择器命名规则 | CSS | 前端观察
- css选择器hack大全 : WAGADA
- Geoff's site: Random CSS Stupidity,浏览器所支持的最小长度单位
- List of Pseudo-Elements to Style Form Controls - TJ VanToll - Tutorials, Thoughts, and Ramblings on Front End Development
原则
- html - CSS Selectors parsed right to left. Why? - Stack Overflow
- Scalable and Modular Architecture for CSS
- CSS基线之道 | CSS | 前端观察
- 网页重构应该避免的10大 CSS 糟糕用法
软件
- Sass: Syntactically Awesome Style Sheets
- stylus,CSS 生成,基于 nodejs
- LESS Elements: a collection of useful LESS mixins
- Compass, an open-source CSS Authoring Framework.
- Pure: A set of small, responsive CSS modules that you can use in every web project.
工具
- CSS Border Radius,在线生成圆角CSS代码
- Ceaser - CSS Easing Animation Tool - Matthew Lein
- Clean CSS - A Resource for Web Designers - Optmize and Format your CSS
- CSS Lint
- Sprite Cow - Generate CSS for sprite sheets
- Prefixr, Cross-Browser CSS in Seconds. 有提供 API 和 Vim 等编辑器插件
- Animate.css - a bunch of plug-and-play CSS animations
- How To Deal With Vendor Prefixes | CSS-Tricks
- csscss by zmoazeni, 重复规则分析工具。使用 Ruby 编写。
- CSS Stats
- Clippy — CSS clip-path maker