91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vuepress如何實現自定義首頁的樣式風格

發布時間:2022-08-13 14:25:23 來源:億速云 閱讀:489 作者:iii 欄目:開發技術

本篇內容介紹了“vuepress如何實現自定義首頁的樣式風格”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

vuepress自定義首頁的樣式風格

如何自定義vuepress的首頁設計風格呢?比如,我希望首頁下面的紅框內容是可點擊的:

vuepress如何實現自定義首頁的樣式風格

正文

在docs -> .vuepress下新建theme文件夾,再在theme文件夾下新建components -> Home.vue, 將vuepress -> packages -> @vuepress -> theme-default -> Home.vue的源碼拷貝至我們的Home.vue即可,

在源碼里稍做修改便能滿足我們的業務需求

改過后的Home.vue代碼如下所示:

<template>
  <main
    class="home"
    :aria-labelledby="data.heroText !== null ? 'main-title' : null"
  >
    <header class="hero">
      <img
        v-if="data.heroImage"
        :src="$withBase(data.heroImage)"
        :alt="data.heroAlt || 'hero'"
      >

      <h2
        v-if="data.heroText !== null"
        id="main-title"
      >
        {{ data.heroText || $title || 'Hello' }}
      </h2>

      <p
        v-if="data.tagline !== null"
        class="description"
      >
        {{ data.tagline || $description || 'Welcome to your VuePress site' }}
      </p>

      <p
        v-if="data.actionText && data.actionLink"
        class="action"
      >
        <NavLink
          class="action-button"
          :item="actionLink"
        />
      </p>
    </header>

    <div
      v-if="data.features && data.features.length"
      class="features"
    >
      <div
        v-for="(feature, index) in data.features"
        :key="index"
        class="feature"
        @click="handleClickFeature(feature.url)"
      >
        <div class="feature-cover">
          <img :alt="feature.title" :src="feature.img"/>
        </div>
        <div class="feature-body">
          <h3>{{ feature.title }}</h3>
          <p>{{ feature.details }}</p>
        </div>
      </div>
    </div>

    <Content class="theme-default-content custom" />

    <div
      v-if="data.footer"
      class="footer"
    >
      {{ data.footer }}
    </div>
  </main>
</template>
<script>
import NavLink from '@theme/components/NavLink.vue'

export default {
  name: 'Home',

  components: { NavLink },

  computed: {
    data () {
      return this.$page.frontmatter
    },

    actionLink () {
      return {
        link: this.data.actionLink,
        text: this.data.actionText
      }
    }
  },
  methods: {
    handleClickFeature(url) {
        window.location.href = url
    }
  }
}
</script>
<style lang="stylus">
.home
  padding $navbarHeight 2rem 0
  max-width $homePageWidth
  margin 0px auto
  display block
  .hero
    text-align center
    img
      max-width: 100%
      max-height 280px
      display block
      margin 3rem auto 1.5rem
    h2
      font-size 3rem
    h2, .description, .action
      margin 1.8rem auto
    .description
      max-width 35rem
      font-size 1.6rem
      line-height 1.3
      color lighten(#000, 40%)
    .action-button
      display inline-block
      font-size 1.2rem
      color #fff
      background-color $accentColor
      padding 0.8rem 1.6rem
      border-radius 4px
      transition background-color .1s ease
      box-sizing border-box
      border-bottom 1px solid darken($accentColor, 10%)
      .icon.outbound {
        color #fff
      }
      &:hover
        background-color lighten($accentColor, 10%)
  .features
    border-top 1px solid $borderColor
    padding 1.2rem 0
    margin-top 2.5rem
    display flex
    flex-wrap wrap
    align-items flex-start
    align-content stretch
    justify-content space-between
  .feature
    margin-bottom 2rem
    flex-grow 1
    flex-basis 30%
    max-width 30%
    cursor pointer
    border 1px solid $borderColor
    transition box-shadow .3s,border-color .3s
    &:hover {
      border-color transparent;
      box-shadow 0 1px 2px -2px #00000029,0 3px 6px #0000001f,0 5px 12px 4px #00000017
    }
    .feature-cover
      height 12rem
      img
        height: 100%;
        width: 100%;
        object-fit cover
    .feature-body
      padding 0 1.2rem
    h3
      font-size 1.4rem
      font-weight 500
      border-bottom none
      padding-bottom 0
      color lighten($textColor, 10%)
    p
      color lighten($textColor, 25%)
  .footer
    padding 2.5rem
    border-top 1px solid $borderColor
    text-align center
    color lighten($textColor, 25%)

@media (max-width: $MQMobile)
  .home
    .features
      flex-direction column
    .feature
      max-width 100%
      padding 0 2.5rem

@media (max-width: $MQMobileNarrow)
  .home
    padding-left 1.5rem
    padding-right 1.5rem
    .hero
      img
        max-height 210px
        margin 2rem auto 1.2rem
      h2
        font-size 2rem
      h2, .description, .action
        margin 1.2rem auto
      .description
        font-size 1.2rem
      .action-button
        font-size 1rem
        padding 0.6rem 1.2rem
    .feature
      h3
        font-size 1.25rem
</style>

對應首頁的README.md內容如下所示:

---
home: true
heroText: SF
heroImage: /logo.png
tagline: 公司業務產品設計體系庫
actionText: 立即開始
actionLink: http://xxx.com/service/guide/install.html
features:
  - title: SF Map Graph
    details: 提供一系列的柱狀、餅狀等組件,此外還有文字滾動、時間軸等特殊組件.
    url: http://xxx.com/service/guide/install.html
    img: /home/graph.png
  - title: SF Map Service
    details: 提供大搜、按鈕等一系列組件,已內置了狀態和接口功能.
    url: http://xxx.com/service/guide/install.html
    img: /home/service.png
  - title: SF Ui 
    details: 基于Vue / Ant Design Vue的UI組件庫.
    url: http://xxx.com/service/guide/install.html
    img: /home/ui.png
  - title: SF Icons 
    details: 一整套公司自有的圖標集.
    url: http://xxx.com/service/guide/icon.html
    img: /home/icon.png
footer: MIT Licensed | Copyright ? 2020-present
---

改后的首頁效果圖如下所示:

vuepress如何實現自定義首頁的樣式風格

vuepress2.x修改默認樣式的小技巧

Vuepress2.x 對樣式的設置有較大變化,點此查看

vuepress如何實現自定義首頁的樣式風格

官方推薦使用插件@vuepress/plugin-palette 和 SCSS。對此插件未做詳細研究,使用了一種土方式。

詳解

步驟1:新建css文件,docs/.vuepress/public/css/index.css

步驟2:配置 docs/.vuepress/config.ts

vuepress如何實現自定義首頁的樣式風格

步驟3:先看看官網詳解,也可在目錄下找到官方變量

// 日間模式
node_modules\@vuepress\theme-default\lib\client\styles\vars.scss
// 夜間模式
node_modules\@vuepress\theme-default\lib\client\styles\vars-dark.scss

步驟4:有兩種方式:

方式一:直接修改默認變量,

默認樣式如下:

vuepress如何實現自定義首頁的樣式風格

docs/.vuepress/public/css/index.css 中修改

/* 日間模式 */
:root {
    --c-brand: #409eff;
}

新樣式

vuepress如何實現自定義首頁的樣式風格

方式二:直接在開發者工具中找到要修改的元素的css名稱,然后在 docs/.vuepress/public/css/index.css 中修改即可。如:修改右上角站點名的字體顏色。

/* 左上角標題 */
.navbar .site-name {
    color: #409eff;
}

修改前

vuepress如何實現自定義首頁的樣式風格

修改后

vuepress如何實現自定義首頁的樣式風格

“vuepress如何實現自定義首頁的樣式風格”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

城市| 荥阳市| 安义县| 渑池县| 新昌县| 安仁县| 民县| 阜南县| 泰来县| 呼伦贝尔市| 大关县| 咸丰县| 芜湖县| 新乐市| 东安县| 奎屯市| 亳州市| 吉首市| 嘉义市| 锡林浩特市| 忻城县| 太谷县| 分宜县| 河源市| 临颍县| 鹿邑县| 合川市| 博罗县| 泸溪县| 治县。| 伊川县| 勃利县| 策勒县| 平罗县| 武宣县| 平塘县| 枣庄市| 资讯| 灵丘县| 鹿泉市| 天门市|