美文网首页
CSS 综合

CSS 综合

作者: 路西法丶L | 来源:发表于2017-03-25 19:03 被阅读202次

    CSS 编码规范

    书写规范

    1. tab 用两个空格表示;
    2. css 的 :后加个空格, {前加个空格;
    3. 每条声明后都加上分号;
    4. 换行,而不是放到一行;
    5. 颜色用小写,用缩写, #fff;
    6. 小数不用写前缀, 0.5s -> .5s;0不用加单位;
    7. 尽量缩写, margin: 5px 10px 5px 10px -> margin: 5px 10px。

    例:

    /* Not recommended */
    .test {
      display: block;
      height: 100px
    }
    /* Recommended */
    .test {
      display: block;
      height: 100px;
    }
    
    
    /* Not recommended */
    h3 {
      font-weight:bold;
    }
    /* Recommended */
    h3 {
      font-weight: bold;
    }
    
    
    /* Not recommended: missing space */
    #video{
      margin-top: 1em;
    }
    
    /* Not recommended: unnecessary line break */
    #video
    {
      margin-top: 1em;
    }
    /* Recommended */
    #video {
      margin-top: 1em;
    }
    
    
    /* Not recommended */
    a:focus, a:active {
      position: relative; top: 1px;
    }
    /* Recommended */
    h1,
    h2,
    h3 {
      font-weight: normal;
      line-height: 1.2;
    }
    
    
    /* Always put a blank line (two line breaks) between rules. */
    html {
      background: #fff;
    }
    
    body {
      margin: auto;
      width: 50%;
    }
    
    
    /* Not recommended */
    @import url("//www.google.com/css/maia.css");
    
    html {
      font-family: "open sans", arial, sans-serif;
    }
    /* Recommended */
    @import url(//www.google.com/css/maia.css);
    
    html {
      font-family: 'open sans', arial, sans-serif;
    }
    

    命名技巧

    1. 语义化
    • 语义化标签优先;
    • 基于功能命名、基于内容命名、基于表现命名;
    • 简略、明了、无后患。

    常见命名:

    .wrap或.wrapper -- 用于外侧包裹
    .container或 .ct -- 包裹容器
    .header -- 用于头部
    .body -- 页面 body
    .footer -- 页面尾部
    aside、sidebar -- 用于侧边栏
    .content -- 和header footer 对应,用于主要内容
    .navigation -- 导航元素
    .pagination -- 分页
    .tabs > .tab -- tab 切换
    .breadcrumbs -- 导航列表、面包屑
    .dropdown -- 下拉菜单
    .article -- 文章
    .main -- 用于主体
    .thumbnail -- 头像,小图像
    .media -- 媒体资源
    .panel -- 面板
    .tooltip -- 鼠标放置上去的提示
    .popup -- 鼠标点击弹出的提示
    .button、.btn -- 按钮
    .ad -- 广告
    .subnav -- 二级导航
    .menu -- 菜单
    .tag -- 标签
    .message或者.notice -- 提示消息
    .summary -- 摘要
    .logo -- logo
    .search -- 搜索框
    .login -- 登录
    .register -- 注册
    .username -- 用户名
    .password -- 密码
    .banner -- 广告条
    .copyright -- 版权
    .modal或者 .dialog -- 弹窗
    
    var 名字 = {
      状态: [
        'inverse',
        'toggled',
        'switched',
        'original',
        'initial',
        'identified',
        'disabled',
        'loading',
        'pending',
        'syncing',
        'default'
      ],
      修饰: [
        'dark',
        'light',
        'shaded',
        'flat',
        'ghost',
        'maroon',
        'pale',
        'intense',
        'twisted',
        'narrow',
        'wide',
        'smooth',
        'separate',
        'clean',
        'sharp',
        'aligned'
      ],
      元素: [
        'pagination',
        'modal',
        'popup',
        'article',
        'story',
        'flash',
        'status',
        'state',
        'media',
        'block',
        'card',
        'teaser',
        'badge',
        'label',
        'sheet',
        'poster',
        'notice',
        'record',
        'entry',
        'item',
        'figure',
        'square',
        'module',
        'bar',
        'button',
        'action',
        'knob'
      ],
      布局: [
        'navigation',
        'wrapper',
        'inner',
        'header',
        'footer',
        'aside',
        'section',
        'divider',
        'content',
        'container',
        'panel',
        'pane',
        'construct',
        'composition',
        'spacing',
        'frame'
      ]
    }
    

    参考:bootstrap 编码规范

    垂直居中的实现方式

    使用 vertical-align 属性:

    .box {
      width: 300px;
      height: 200px;
      border: 1px solid ;
      text-align: center;
    }
    .box:before {
      content: '';
      display: inline-block;
      height: 100%;
      vertical-align: middle;
    }
    .box img {
      vertical-align: middle;
      background: blue;
    }
    或
    .box {
      width: 300px;
      height: 200px;
      border: 1px solid ;
      display: table-cell;
      vertical-align: middle;
      text-align: center;
    }
    

    使用绝对定位

    .dialog {
      position: absolute;
      left: 50%;
      top: 50%;
      margin-left: -200px;
      margin-top: -150px;
      width: 400px;
      height: 300px;
    }
    

    使用伪元素实现如下效果:

    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <title>exp</title>
      <style type=text/css>
        div {
          width: 150px;
          height: 100px;
          border: 1px solid #aaa;
          margin: 50px;
        }
    
        div:nth-child(1):before {
          content: "";
          display: inline-block;
          border-top: 5px solid #aaa;
          border-left: 5px solid #aaa;
          border-bottom: 5px solid transparent;
          border-right: 5px solid transparent;
          transform: rotateZ(45deg);
          position: relative;
          top: -13px;
          left: 10px;
        }
        div:nth-child(2):before {
          content: "";
          display: inline-block;
          border-top: 10px solid #f00;
          border-left: 10px solid transparent;
          border-bottom: 10px solid transparent;
          border-right: 10px solid #f00;
          position: relative;
          top: -1px;
          left: 131px;
        }
        div:nth-child(3):before {
          content: "";
          width: 10px;
          height: 10px;
          display: inline-block;
          border-top: 1px solid #aaa;
          border-left: 1px solid #aaa;
          background: #fff;
          transform: rotateZ(45deg);
          position: relative;
          top: -13px;
          left: 10px;
        }
      </style>
    </head>
    <body>
      <div></div>
      <div></div>
      <div></div>
    </body>
    </html>
    

    【注】版权归 Lucifer 所有,转载请联系作者。

    相关文章

      网友评论

          本文标题:CSS 综合

          本文链接:https://www.haomeiwen.com/subject/kjwcottx.html