CSS 技术技巧_提高你CSS技术的法则

站长手记 作者: 2024-08-28 06:00:01
CSS技术技巧法则:不要让你的代码脱离你的掌控,尽量简洁、掌握基础、保持代码的可复用性、面向对象的css、Css3了解他能做的以及你可以使用的部分、渐进增强与优雅降级、Css预处理工具...

1.不要让你的代码脱离你的掌控,尽量简洁

  1. 我怎样实现?
  2. 有其他方法实现么?
  3. 怎样优化(简洁,可维护,等等)?
  1. 列表元素浮动;
  2. 改变列表元素display属性为inline;
  3. 改变列表元素display属性为inline-block。

2. 掌握基础,学习CSS技巧

	
  1. .child {
  2. position: absolute;
  3. top: 0;
  4. left: 0;
  5. }
  6. /* 这是忘了的*/
  7. /*
  8. .parent {
  9. position: relative; // Or anything else than static
  10. }
  11. */
	
  1. .parent {
  2. z-index: 1;
  3. opacity: 0.5;
  4. transform: rotate(5deg);
  5. }
  6. .child {
  7. z-index: -1;
  8. }

3. 保持代码的可复用性

	
  1. .navigation li {
  2. color: #333;
  3. }
  4. .navigation li a {
  5. color: #333;
  6. }
  7. /* Refactoring */
  8. .navigation li,
  9. .navigation li a {
  10. color: #333;
  11. }

4. 面向对象的css

	
  1. #my-button,
  2. .my-box
  3. .my-box img {
  4. border: 1px solid #444;
  5. border-radius: 5px;
  6. box-shadow: 0 0 5px rgba(0,0,0,0.1);
  7. }
	
  1. .skin {
  2. border: 1px solid #444;
  3. border-radius: 5px;
  4. box-shadow: 0 0 5px rgba(0,0,0,0.1);
  5. }
	
  1. #main h2 {
  2. color: #343434;
  3. font-size: 25px;
  4. line-height: 20px;
  5. border-bottom: 1px solid rgba(0,0,0,0.2);
  6. box-shadow: 0 1px rgba(255,255,255,0.4);
  7. }
	
  1. /* CSS */
  2. #header a { color: #f90; }
  3. .tweet a { color: #000; }

5. Css3:了解他能做的以及你可以使用的部分

  1. 圆角,一行代码代替了用四张小图片拼四个圆角;
  2. 透明度与alpha通道的支持: 一行代码代替了一张半透明png;
  3. 更先进的选择器:不需要js来写了;
  4. Flexbox:几行代码代替了一整个布局框架;
  5. 渐变:几行代码代替了背景平铺的图片;
  6. 多背景:不需要多个容器了;
  7. 伪类:装饰性的元素不需要额外的标签去定义了。
  1. 我要用这css干嘛?
  2. 我明白我要干嘛了,这是css2规范里的么?
  3. 这玩意兼容性怎么样啊
  4. 这是锦上添花还是需求啊?
    1. 这是锦上添花,那么低端浏览器我就只能优雅降级了。
    2. 这是需求啊!跳到第五步
  5. 我怎么在不兼容的浏览器里对付这个需求呢?
  1. 这里要用渐变?
  2. 用吧。。css2里有渐变?
  3. 兼容性呢?
    1. 还好吧,一般化,ie8以下跟operamini不支持css3渐变(这里明显有误了)
  4. 这是锦上添花还是需求啊?
    1. 这只是一种更炫的手段,不是重点。不支持的我就用个单色代替吧。
    2. 需求要求这里就是用渐变啊!我得找兼容了。
  5. 我要如何让它不支持的浏览器上工作
	
  1. .my-element {
  2. border: 1px solid #666;
  3. border: 1px solid rgba(0,0,0,0.3);
  4. background: #708090;
  5. background: hsl(210, 13%, 50%);
  6. }
	
  1. /* Normal version */
  2. .dropdown {
  3. opacity: 0;
  4. pointer-events: none;
  5. }
  6. .trigger:hover .dropdown {
  7. opacity: 1;
  8. pointer-events: auto;
  9. }
  10. /* Fallback with Modernizr */
  11. .no-opacity .dropdown,
  12. .no-pointerevents .dropdown {
  13. opacity: 1;
  14. pointer-events: auto;
  15. display: none;
  16. }
  17. .no-opacity .trigger:hover .dropdown,
  18. .no-pointerevents .trigger:hover .dropdown {
  19. display: block;
  20. }

6. 渐进增强与优雅降级


	

7. Css预处理工具

  1. 变量(variables)
  2. 可传参的函数(functions (with parameters))
  3. 命名空间(namespaces)
  4. 嵌套(nesting)
  5. 条件语句(conditional statements)
  6. 操作(operations)
  7. 其他(and many more)
	
  1. .navigation {
  2. width: 800px;
  3. width: calc(100%-150px);
  4. }
  5. .navigation li {
  6. color: #444;
  7. }
  8. .navigation li a {
  9. text-decoration: none;
  10. }
	
  1. $main-color: #444;
  2. .navigation {
  3. width: (100%-150px);
  4. li {
  5. color: $main-color;
  6. a {
  7. text-decoration: none;
  8. }
  9. }
  10. }
  1. Sass (written in Ruby)
  2. LESS (written in JavaScript)
  3. Stylus (written in JavaScript)
  4. Crush (written in PHP)

8. 与时俱进

9. 取长补短

  1. CodePen
  2. CSS Deck
  3. Dabblet
  4. TheCodePlayer
  5. CSS3 案例

10. 熟能生巧

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_69966.html
CSS技术