移动端布局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布局 */
      width: 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
    width: 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
    width: 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了~

效果图:
  

至此,本文结束~


转载于:https://www.cnblogs.com/Christeen/p/6500666.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值