banner
yawnhaaa

yawnhaaa

一个已经活了两个世纪的人
github

裝修Xlog

前言:在看 DIYGOD(後文稱 D 姐)的文章時,發現 D 姐的橫幅隨著瀏覽器寬度調整也不會動,就跟著 D 姐的樣式代碼裝修一下自己 Xlog

零、分析 D 姐樣式代碼#

1、精細化管理字體#
@import url("https://cdnjs.cloudflare.com/ajax/libs/lxgw-wenkai-screen-webfont/1.7.0/lxgwwenkaiscreenr.css");

.xlog-page-index,
.xlog-page-post {
font-family: "LXGW WenKai Screen R", sans-serif;
}

  

@font-face {
font-family: SFCompactRounded;
font-weight: 300;
src:url(https://ipfs.4everland.xyz/ipfs/bafybeidme3gx5cgofwznbtccc7vnfi2acecdzaiy7yfcjyq4e3qgzqwzem);
}

@font-face {
font-family: SFCompactRounded;
font-weight: 400;
src:url(https://ipfs.4everland.xyz/ipfs/bafybeif5baqci7hr4s6ax2a4osvhaayuuipffbww6oydibxx6qgueklc2a);
}

@font-face {
font-family: SFCompactRounded;
font-weight: 500;
src:url(https://ipfs.4everland.xyz/ipfs/bafybeihidx5w2sagmed5zwtlmkceht6ni3akqxvvbnob4uz63sfdpwh5wu);
}

@font-face {
font-family: SFCompactRounded;
font-weight: 600;
src:url(https://ipfs.4everland.xyz/ipfs/bafybeihe3bpdk7yojbcghhiufqe62smr7y2fcm5gagm2nq2l6cgynpauou);
}

D 姐很細,根據不同字體 weight 定義了不同的字體,這段代碼這次裝修沒用上

2、區分白天 / 黑夜模式的主題色,與鼠標樣式#
:root {
    --theme-color: #ff9800;
    --font-fans: SFCompactRounded, PingFang SC, Microsoft YaHei, Lato, sans-serif;
    --header-height: max(50vh, 400px);
    cursor: url(https://ipfs.4everland.xyz/ipfs/bafkreihm4v5gpjkv5lboaqhdfmou4mlpvfjkgbn24ywrfivdk7tolgzkke), default;
    --tw-backdrop-blur: n
}
3、定義字體變量#
@font-face {
    font-family: 'Candyshop';
    src: url(https://ipfs.4everland.xyz/ipfs/bafkreiaztv4ex5zlllmz5jqkrc3uouggdwfy6rrenemtdf3erlbd6bmfwm);
    font-display: swap;
}
4、整體橫幅(banner)#
1)橫幅圖片樣式
.xlog-banner img {
    max-width: 100%;
    width: 300px;
}
2)信息框
.xlog-site-info {
    border: 1px solid #fff;
    transition: .3s ease;
    z-index: 1;
}
3)用戶名
.xlog-site-name {
    color: var(--theme-color);
    font-family: Candyshop;
    text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff, -1.414px 0 0 #fff, 1.414px 0 0 #fff, 0 -1.414px 0 #fff, 0 1.414px 0 #fff;
    font-size: 35px;
}
4)黑夜模式信息框
.dark .xlog-site-info {
    border: 1px solid var(--border-color);;
}
5)頭像框
.xlog-site-icon {
    width: 110px;
    height: 110px;
}
6)文章列表
.xlog-post {
transition: .3s ease;
}
5、底部(footer)#
footer {
    position: relative;
    margin-top: 210px;
}
/* 在底部元素前插入圖像 */
footer:before {
    content: ' ';
    background: url(https://ipfs.4everland.xyz/ipfs/bafkreigq3m2bj76jl7abz6i5rlzegutcrfc2j2nqkcypksbeyu67fsymoy) no-repeat center;
    height: 368px;
    width: 100%;
    display: block;
    position: absolute;
    top: -295px;
    left: 0;
    pointer-events: none;
}
6、幾個媒體查詢#
@media (max-width: 640px) {
    .xlog-site-info {
        padding: 1rem;
    }
}

@media (min-width: 640px) {
    .xlog-post:hover {
        transform: scale(1.02);
        box-shadow: rgb(0 0 0 / 10%) 0 10px 50px;
        background-color: #fff;
        z-index: 9;
    }

    .dark .xlog-post:hover {
        background-color: var(--hover-color);
    }

    .xlog-site-info:hover {
        transform: scale(1.03);
        -webkit-font-smoothing: antialiased;
    }
}

一、開始裝修#

1、學習如何使用 4EVERYLAND#

4EVERYLAND
連接錢包後,去 Storage->Bucket->New Bucket->Upload 你的字體、圖片等資源-> 拷貝 CID
比如我美美的呆毛的 CID 是

bafybeifliw6wwf2kw3vfzhch3nyv2hgdrkb74qarmzsr53jxxmqwb3ggai

將其與以下鏈接拼接:

https://ipfs.4everland.xyz/ipfs/[CID]

即為:

https://ipfs.4everland.xyz/ipfs/bafybeifliw6wwf2kw3vfzhch3nyv2hgdrkb74qarmzsr53jxxmqwb3ggai

可以嘗試訪問,就能訪問到美美的呆毛啦

2、找喜歡的字體#

我去的是谷歌字體庫

下載後將 ttf/otf 文件上傳至 4EVERYLAND

3、更改 D 姐的樣式#
@font-face {
    font-family: 'Candyshop';
    src: url(https://ipfs.4everland.xyz/ipfs/[CID]);
    font-display: swap;
}
4、以上拋磚引玉#

把 D 姐的樣式代碼看懂後,實質上就是上傳自己的資源去 4EVERYLAND 上,去供 Xlog 的 CSS 代碼塊訪問到,對我來說難的是找 色圖 喜歡的圖

二、代碼展示#

/* 設置字體 */
@font-face {
    font-family: 'YawnFont';
    src: url(https://ipfs.4everland.xyz/ipfs/bafybeigcxr7fhpf4e3p2a6mrxfbqoxzeckcvtusnszirz57f3rmjtfgbym);
    font-display: swap;
}

/* 設置主題色、鼠標樣式等 */
:root {
    --theme-color: #ff9800;
    --font-fans: sans-serif;
    --header-height: max(50vh, 400px);
    cursor: url(https://ipfs.4everland.xyz/ipfs/bafkreieeqamkk3p65nj4quf4vrpkzqfl2yonns2av7wctbpf4gko4gpkia), default;
}

/* 將遮蓋呆毛的樣式取消掉 */
@media (min-width: 640px) {
    .sm\:backdrop-blur-sm {
        --tw-backdrop-blur: none !important; /* 覆蓋為不需要的值 */
        -webkit-backdrop-filter: none !important; /* 覆蓋為不需要的值 */
        backdrop-filter: none !important; /* 覆蓋為不需要的值 */
    }
}

/* 將遮蓋呆毛的樣式取消掉 */
.backdrop-blur-sm {
        --tw-backdrop-blur: none !important; /* 覆蓋為不需要的值 */
        -webkit-backdrop-filter: none !important; /* 覆蓋為不需要的值 */
        backdrop-filter: none !important; /* 覆蓋為不需要的值 */
}

/* header overall */
/* 個人信息框 */
.xlog-site-info {
    border: 1px solid #fff;
    transition: .3s ease;
    z-index: 1;
}

/* 橫幅圖片樣式 */
.xlog-banner img {
    width: auto !important;
    margin: auto !important;
}

/* 用戶名 */
.xlog-site-name {
    color: var(--theme-color);
    font-family: YawnFont;
    text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff, -1.414px 0 0 #fff, 1.414px 0 0 #fff, 0 -1.414px 0 #fff, 0 1.414px 0 #fff;
    font-size: 35px;
}


/* 黑暗模式下信息框 */
.dark .xlog-site-info {
    border: 1px solid var(--border-color);;
}

.dark .xlog-banner {
    background: #1e2024 !important;
}

.xlog-banner {
    background: #f6f6f6 !important;
}

/* 頭像框 */
.xlog-site-icon {
    width: 110px;
    height: 110px;
}

/* 媒體查詢 */
@media (max-width: 640px) {
    .xlog-site-info {
        padding: 1rem;
    }
}

/* post list */
/* 文章列表:調整動畫時間 */
.xlog-post {
    transition: .3s ease;
}

/* 媒體查詢(當頁面寬度小於 640px 時):1、光標移入文章列表,變大、有陰影、背景色;2、黑暗模式下光標移入更改背景;3、移入信息框變大,字體平滑 */
@media (min-width: 640px) {
    .xlog-post:hover {
        transform: scale(1.02);
        box-shadow: rgb(0 0 0 / 10%) 0 10px 50px;
        background-color: #fff;
        z-index: 9;
    }

    .dark .xlog-post:hover {
        background-color: var(--hover-color);
    }

    .xlog-site-info:hover {
        transform: scale(1.03);
        -webkit-font-smoothing: antialiased;
    }
}

/* footer */
/* 底部樣式 */
footer {
    position: relative;
    margin-top: 444px;
}
/* 在底部元素前插入圖像 */
footer:before {
    content: ' ';
    background: url(https://ipfs.4everland.xyz/ipfs/bafybeih3rgmdz4cvoj2web2yc7fgf7gplo6ds5qabokvzhocfqnm6m66iq) no-repeat center;
    height: 554px;
    width: 100%;
    display: block;
    position: absolute;
    /* top: -350px; */
    left: 0;
    pointer-events: none;
}

三、總結#

我始終認為前端終能拯救世界,加油吧

ps:我記得老 IE 是能在 css 中訪問 js 代碼的,格式也是 url (...),印象不是很深了,如果是真的,對伺服器威脅是巨大的。手動 @D 姐

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。