zoukankan      html  css  js  c++  java
  • 移动端布局tips_带有横线的自适应标题

    写在前面的话:

      要实现下图的效果:

      

      文字说明:中间字的部分是固定的,左右两边的线条是自适应的,同时还要实现底部的 1px 下边框~

    思路:

      使用flex布局,使用媒体查询实现1px~

    做法:

     (1)HTML布局(1.html):

    <div class="title border-bottom-1px">
          <div class="line background-bottom-1px"></div>
          <div class="text">课程介绍</div>
          <div class="line line2 background-bottom-1px"></div>
    </div>

     (2)样式(这里使用的stylus,复制的时候要把注释给去掉~)

       1.html中的style 标签:

    .title
          display: flex        /* 对父元素使用flex布局 */
           100%
          height: 35px
          line-height: 35px
          border-bottom-1px(#b5b5b5)
          .line
            flex: 1
            position: relative
            top: 18px
            height: 1px
            background-bottom-1px(left, #fff, #4a4a4a)
          .line2
            background-bottom-1px(right, #fff, #4a4a4a)
          .text
            font-size: 12px
            margin: 0 16px 0

      看上边的代码用到了

       border-bottom-1px(#b5b5b5)
       background-bottom-1px(left, #fff, #4a4a4a)
       background-bottom-1px(right, #fff, #4a4a4a)

      等代码,这些是我写在一些stylus文件中的。

       1)mixin.styl(用来实现函数式css,在使用时需要直接引入)

    // 1px 底部border的实现    
    border-bottom-1px($color)
      position: relative
      &:after
        display: block
        position: absolute
        left: 0
        bottom: 0
         100%
        border-top: 1px solid $color
        content: ' '
        
    // 1px 渐变色底部background的实现    
    background-bottom-1px($direction, $color1, $color2)
      position: relative
      &:after
        display: block
        position: absolute
        left: 0
        bottom: 0
         100%
        height: 1px
        background: -webkit-linear-gradient($direction, $color1, $color2)
        content: ' '

       2)base.styl用来存放媒体查询部分代码,不同的像素比,缩放比例是不一样的:

        (如果在index.styl引入了此文件,且在main.js中引入了index.styl时,就不用再引入一次了,在需要用到该类的元素上边直接使用类名就可以~)

    // 底部1px的border
    @media (-webkit-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5)
      .border-bottom-1px
        &::after
          -webkit-transform: scaleY(0.7)
          transform: scaleY(0.7)
              
    @media (-webkit-min-device-pixel-ratio: 2),(min-device-pixel-ratio: 2)
      .border-bottom-1px
        &::after
          -webkit-transform: scaleY(0.5)
          transform: scaleY(0.5)
    
    // 底部1px的background
    @media (-webkit-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5)
      .background-bottom-1px
        &::after
          -webkit-transform: scaleY(0.7)
          transform: scaleY(0.7)
              
    @media (-webkit-min-device-pixel-ratio: 2),(min-device-pixel-ratio: 2)
      .background-bottom-1px
        &::after
          -webkit-transform: scaleY(0.5)
          transform: scaleY(0.5)

    ok了~

    效果图:
      

    至此,本文结束~


  • 相关阅读:
    (转载) mysql中,option是保留字段么?
    (转载)腾讯CMEM的PHP扩展
    (转载)一句简单命令重启nginx
    (转载)四种常见的 POST 提交数据方式
    (转载)完美解决PHP中文乱码问题
    (转载)file_get_contents("php://input")
    (转载)PHP 下 CURL 通过 POST 提交表单失败的原因之一与解决办法
    (转载)php array_merge 和 两数组相加区别
    Immutable-不变模式与不变类
    zookeeper 编程框架 curator
  • 原文地址:https://www.cnblogs.com/Christeen/p/6500666.html
Copyright © 2011-2022 走看看