• Vue2.5 旅游项目实例3 首页-iconfont和代码优化


    到iconfont官网上新建项目文件Travel,然后选择你需要的图标加入购物车,并下载到本地,解压缩后把 iconfont.css 文件拷贝到项目的Travelsrcassetsstyles文件夹下,再新建iconfont文件夹,里面包含了(iconfont.eot、iconfont.svg、iconfont.ttf、iconfont.woff)

    然后在编辑器里打开iconfont.css文件,修改对应的路径:

    @font-face {font-family: "iconfont";
      src: url('./iconfont/iconfont.eot?t=1583802872058'); /* IE9 */
      src: url('./iconfont/iconfont.eot?t=1583802872058#iefix') format('embedded-opentype'), /* IE6-IE8 */
      url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAANQAAsAAAAAB2AAAAMDAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDHAqCIIIKATYCJAMQCwoABCAFhG0HQxt3BsgehXEsLDShXL2VfYgH/g9/940/J1U0JnbSbZvSPTigqIgCTbzjW6D/tfv+vs2a1Walp27BD3GQzMxT5mQyS1SfKsVSLiFVUvcaIABp7MXhuGUJzLfaLmNNGmNb1AUYbw1srElZggWSewrqNROrAbp4mICqMdUc6xOnz4dYGR0VEG4MTYLYilOWjUhZUOxYmIVXiFKOzxE3ALwk3w9/4K1MVEjoUbtnE1Ro+Sz+NBUNhgctTyMwuJ0FxjIS5oFMuOi0HUFZcB5S9bpHWgTKyiJbtXk/TQ2HFQMX5jI7cfGfF4poeh0sIJT4LBZkIp9eqS75VAhu4KAMyihiA3hEsSPooyD1HL3EzfZT1lzI21muHrpeuT2bHtlbdbDE8VS5abCCbFuzZyibbh/K0XbsPqA8erTw8eNFDx8uePAg5bhsiOfjHdL2PQf3Zy3YtnPfgeztp27ndyYlduWnZR1DY5O0V7EdvGk2wPw7zl3TWzovnO7I/p7VEU/Wz1890v8JniYcQ58/o+PomCY5Bk7BARuxx5s3osuXkRRv0DngqmyIN6J4be3uqlmXu1pmxnYw0a7pLeIMwP9g/I9GkvClZKOWH/Ebk4t6vyql4U9sQgYf6+L/w/E/mGE6/23yPf5r508sy76Q6nN2RYIXTMvGIRBRZUZedpSuV1uoBncUDsoGBUQlo5CUjSMyZh4KahagqGwJquZMWl7TwyEhVzBrjEDQdhKipndI2m4iMuYlFAx9gaJ2Car2QsaGNZNdxo/jRBJExXIXNhQWotwo4tPMuUSzAxIvCxPcQsItw4M9Tnc9MomECN9iitWueYWgmHIWxBPJcSQQYNjkzEcU4dSFMOtcLtr1IqfCghBvDUdIBEKFybpgBgUTQqPqQnzj83MRGluAhA+U9FgXIjiL0Tnm4eSegJgkC00qeZVnLO00XoJAYRTHBGETiYUIsCCDmd39fAiF4KQv8JvquJRKdKrMebwi+IRroIpulEMMKeRQULoypJBgdjSNe+q2EW0x27IZAAA=') format('woff2'),
      url('./iconfont/iconfont.woff?t=1583802872058') format('woff'),
      url('./iconfont/iconfont.ttf?t=1583802872058') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
      url('./iconfont/iconfont.svg?t=1583802872058#iconfont') format('svg'); /* iOS 4.1- */
    }

    再打开main.js文件添加引用:

    import './assets/styles/iconfont.css'

    然后就可以使用了,继续打开header.vue文件:

    <template>
    <div class="header">
      <div class="header-left"><div class="iconfont back-icon">&#xe624;</div></div>
      <div class="header-input"><i class="iconfont">&#xe632;</i> 输入城市/景点/游玩主题</div>
      <div class="header-right">城市 <i class="iconfont arrow-icon">&#xe64a;</i></div>
    </div>
    </template>
    
    <script>
    export default {
      name: 'HomeHeader',
      data () {
        return {
        }
      }
    }
    </script>
    
    <style lang="stylus" scoped>
    .header
      display:flex
      line-height: .86rem
      background: #00BCD4
      color #fff
      .header-left
         .64rem
        float:left
        .back-icon
          text-align: center
          font-size:.4rem
      .header-input
        flex: 1
        margin: .12rem 0 .12rem .2rem
        padding-left:.2rem
        height: .62rem
        line-height: .62rem
        color: #ccc
        background: #fff
        border-radius: .1rem
      .header-right
         1.24rem
        float:right
        text-align: center
        .arrow-icon
          margin-left: -.04rem
          font-size: .24rem
    </style>

    我们可以看到header的背景色是绿色,而且网站很多地方也会用到这个颜色,所以我们需要把这个颜色单独放到一个变量了,然后需要的地方引用就可以了。而且后期改变主题颜色风格的时候,直接改变这个变量值就可以了。

    在styles文件夹下创建一个stylus文件

    varibles.styl  并定义变量:

    $bgColor = #00BCD4

    然后回到header.vue文件中引用和使用:

    <style lang="stylus" scoped>
    @import '../../../assets/styles/varibles.styl'
    、、、
       background: $bgColor
    、、、

    刷新页面,没有问题。当然我们也可以做个测试,把变量改为 $bgColor = red 保存,然后刷新页面看看是否变为了红色。

    在样式中简写引用地址:要在@前面加~

    @import '~@/assets/styles/varibles.styl'

    我们还发现很多地方都引用了styles这个目录,我们能不能像src目录简写引用@那样,给styles也起个别名呢?

    当然可以,我们打开build目录下的webpack.base.conf.js文件:

    找到 resolve 下的 alias ,自定义一个:

    'styles': resolve('src/assets/styles'),

    这里记得一定要重启下服务,要不会报错。修改webpack后一定要重启服务。

    然后就可以回去改我们的代码了。

    header.vue文件:

    @import '~styles/varibles.styl'

    main.js文件:

    import 'styles/reset.css'
    import 'styles/border.css'
    import 'styles/iconfont.css'

    把input输入框加上:

    <div class="header-input">
        <i class="iconfont">&#xe632;</i>
        <input type="text" placeholder="输入城市/景点/游玩主题" />
    </div>

    此时效果图:

     

    可以Git提交下代码,具体就不写了。

  • 相关阅读:
    (todo)数组名 有存储空间吗?
    c和指针 指针数组 关于指针数组
    c面试题 来自android手机 1/6
    c 和指针 二维数组赋予一维数组指针 数组长度 数组与指针长度区别
    c语言优先级面试小结
    hxf 每晚 宏 不用大于小于 求大小
    DelphiX中的DXSprite单元中涉及到修改
    在java开发过程中,添加表时,需要配置一下的目录和文件。
    代码生成器cs的注册方法.
    将一个字符串映射为一个Delphi页面控件属性名
  • 原文地址:https://www.cnblogs.com/joe235/p/12467706.html
Copyright © 2020-2023  润新知