介绍一种让 Sakurairo 随侧边栏的出现,使其中的布局自动变色的方案 #842
PolarisSdesu
started this conversation in
Show and tell
Replies: 5 comments 2 replies
-
快提pr
获取 Outlook for iOS<https://aka.ms/o0ukef>
…________________________________
发件人: PolarisSdesu ***@***.***>
发送时间: Tuesday, January 30, 2024 1:16:47 PM
收件人: mirai-mamori/Sakurairo ***@***.***>
抄送: Subscribed ***@***.***>
主题: [mirai-mamori/Sakurairo] 介绍一种让 Sakurairo 随侧边栏的出现,使其中的布局自动变色的方案 (Discussion #842)
引言
本教程包括布局:🍔移动端的汉堡菜单 iconflat、搜索按钮 i、🔗顶栏中的标签元素 a 的黑白色过渡,具体效果可前往我的博客 https://polarissmusic.cn 查看。
此处不介绍顶栏 Logo 自动变色方案的具体介绍,因为我的博客直接修改了顶栏的 PHP 文件以使用 svg 格式来作为我的顶栏 Logo。
开始
对于🔍搜索按钮 i、🔗顶栏中的标签元素 a
这其实超级简单,按下 F12,在滚动页面时会发现有一个 CSS 样式 yya 被添加到顶栏中:
<header class="site-header no-select" role="banner">...</header>
<header class="site-header no-select yya" role="banner">...</header>
所以我们只写一个:当 yya 样式出现时,更改搜索按钮 i及顶栏中的标签元素 a 的颜色就可以:
.site-top .lower a{
transition: all 0.3s cubic-bezier(0.82, 0, 0.58, 1);
color:#FFFFFF;
}
.site-header i{
transition: all 0.3s cubic-bezier(0.82, 0, 0.58, 1);
color:#FFFFFF;
}
.yya .lower a{
transition: all 0.3s cubic-bezier(0.82, 0, 0.58, 1);
color:#000000;
}
.yya i{
transition: all 0.3s cubic-bezier(0.82, 0, 0.58, 1);
color:#000000;
}
将以上自定义的 CSS 文件添加到你的 WordPress 后台中的:外观 --> 自定义 --> 额外 CSS 中,随后点击发布就可以了。
我们通过元素定位,定位到了 i 和 a 的位置,当 yya 样式出现时,对其更改一个新的颜色属性。
为了过渡更加流畅,我添加了 transition: all 0.3s cubic-bezier(0.82, 0, 0.58, 1); 贝塞尔曲线属性,如果你不喜欢可自行删除。
对于🍔移动端的汉堡菜单 iconflat
这就不像搜索按钮和标签元素那样简单了,因为对于移动端的汉堡菜单中:
<div class="openNav no-select">
<div class="iconflat no-select" style="padding: 30px;">
<div class="icon"></div>
</div>
</div>
它并没有随着页面滚动而添加新的 CSS 样式,而且也没有被 yya 元素所包裹起来......
解决方法
既然移动端的汉堡菜单 iconflat 没有随着页面的滚动而增加新的 CSS 样式,我们就来自己创造一个!
yya 样式肯定是被一个 JavaScript 所控制,所以只要我们模仿那个 JavaScript 函数来写一个随着页面滚动,为汉堡菜单 iconflat 添加一个新的 CSS 样式就可以了!
于是找啊找......这个 JavaScript 位于 Sakurairo-2.6.3.1/js/app.js!
我们所需要的那部分长这样:
const e = document.querySelector(".site-header")
, t = document.querySelector(".skin-menu")
, n = document.querySelector("#changskin")
, o = document.querySelector("#moblieGoTop")
, r = t=>{
t > 0 ? e.classList.add("yya") : e.classList.remove("yya");
const r = t > 20 ? "scale(1)" : "scale(0)";
o.style.transform = r,
n.style.transform = r
}
;
对它魔改一下......?
为了达到汉堡菜单自动变色的效果,我们首先要定义一个默认颜色,就选择白色吧;且当出现一个新的样式时,汉堡菜单的颜色要切换到黑色。
为此我们定义一个空的 CSS 样式:make-it-black,并实现上述效果:
.no-select .icon{
transition: all 0.3s cubic-bezier(0.82, 0, 0.58, 1);
background-color:#FFFFFF;
}
.no-select .icon:before{
transition: all 0.3s cubic-bezier(0.82, 0, 0.58, 1);
background-color:#FFFFFF;
}
.no-select .icon:after{
transition: all 0.3s cubic-bezier(0.82, 0, 0.58, 1);
background-color:#FFFFFF;
}
.make-it-black .no-select .icon{
transition: all 0.3s cubic-bezier(0.82, 0, 0.58, 1);
background-color:#000000;
}
.make-it-black .no-select .icon:before{
transition: all 0.3s cubic-bezier(0.82, 0, 0.58, 1);
background-color:#000000;
}
.make-it-black .no-select .icon:after{
transition: all 0.3s cubic-bezier(0.82, 0, 0.58, 1);
background-color:#000000;
}
同理,将以上自定义的 CSS 文件添加到你的 WordPress 后台中的:外观 --> 自定义 --> 额外 CSS 中,随后点击发布就可以了。
接下来是 JavaScript 的部分:
const e = document.querySelector(".site-header")
, t = document.querySelector(".skin-menu")
, n = document.querySelector("#changskin")
, o = document.querySelector("#moblieGoTop")
, h = document.querySelector(".openNav")
, r = t=>{
t > 0 ? e.classList.add("yya") : e.classList.remove("yya");
t > 0 ? h.classList.add("make-it-black") : h.classList.r ("make-it-black");
const r = t > 20 ? "scale(1)" : "scale(0)";
o.style.transform = r,
n.style.transform = r
}
;
前往 Sakurairo-2.6.3.1/js/app.js,使用自己喜欢的编辑器搜索 yya,定位到这部分直接对原内容(在 ### 解决方法 中)覆盖即可。
我们模仿原 JavaScript 文件添加了:
随着页面滚动,为汉堡菜单所在的元素添加一个 make-it-black 的空样式。
配合先前定义的 CSS 样式,就可以做到汉堡菜单自动切换颜色的效果。
结语
感谢你阅读这篇文章。
链接树:https://links.polarissmusic.cn
我的个人博客:https://polarissmusic.cn
在 X(Twitter)上关注我:https://twitter.com/PolarisSdesu
—
Reply to this email directly, view it on GitHub<#842>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AOUJUFTYWDHDOBHXBQWKDWDYRB637AVCNFSM6AAAAABCQTIS2CVHI2DSMVQWIX3LMV43ERDJONRXK43TNFXW4OZWGE2TGMJWHA>.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
2 replies
-
提就完事啦
获取 Outlook for iOS<https://aka.ms/o0ukef>
…________________________________
发件人: PolarisSdesu ***@***.***>
发送时间: Wednesday, January 31, 2024 10:23:41 AM
收件人: mirai-mamori/Sakurairo ***@***.***>
抄送: 染川瞳 ***@***.***>; Comment ***@***.***>
主题: Re: [mirai-mamori/Sakurairo] 介绍一种让 Sakurairo 随侧边栏的出现,使其中的布局自动变色的方案 (Discussion #842)
草,可以提 PR 吗
―
Reply to this email directly, view it on GitHub<#842 (reply in thread)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AOUJUFWJQKU7BBWSN7RDH2TYRGTK3AVCNFSM6AAAAABCQTIS2CVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DGMJUGA4TC>.
You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
0 replies
-
还有你QQ群加了吗
获取 Outlook for iOS<https://aka.ms/o0ukef>
…________________________________
发件人: 染川瞳 ***@***.***>
发送时间: Wednesday, January 31, 2024 10:24:21 AM
收件人: mirai-mamori/Sakurairo ***@***.***>; mirai-mamori/Sakurairo ***@***.***>
抄送: Comment ***@***.***>
主题: Re: [mirai-mamori/Sakurairo] 介绍一种让 Sakurairo 随侧边栏的出现,使其中的布局自动变色的方案 (Discussion #842)
提就完事啦
获取 Outlook for iOS<https://aka.ms/o0ukef>
________________________________
发件人: PolarisSdesu ***@***.***>
发送时间: Wednesday, January 31, 2024 10:23:41 AM
收件人: mirai-mamori/Sakurairo ***@***.***>
抄送: 染川瞳 ***@***.***>; Comment ***@***.***>
主题: Re: [mirai-mamori/Sakurairo] 介绍一种让 Sakurairo 随侧边栏的出现,使其中的布局自动变色的方案 (Discussion #842)
草,可以提 PR 吗
―
Reply to this email directly, view it on GitHub<#842 (reply in thread)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AOUJUFWJQKU7BBWSN7RDH2TYRGTK3AVCNFSM6AAAAABCQTIS2CVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DGMJUGA4TC>.
You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
0 replies
-
彳亍,我先加一下 QQ 群
获取Outlook for Android<https://aka.ms/AAb9ysg>
…________________________________
From: 染川 瞳 ***@***.***>
Sent: Wednesday, January 31, 2024 10:25:01 AM
To: mirai-mamori/Sakurairo ***@***.***>
Cc: PolarisSdesu ***@***.***>; Author ***@***.***>
Subject: Re: [mirai-mamori/Sakurairo] 介绍一种让 Sakurairo 随侧边栏的出现,使其中的布局自动变色的方案 (Discussion #842)
还有你QQ群加了吗
获取 Outlook for iOS<https://aka.ms/o0ukef>
________________________________
发件人: 染川瞳 ***@***.***>
发送时间: Wednesday, January 31, 2024 10:24:21 AM
收件人: mirai-mamori/Sakurairo ***@***.***>; mirai-mamori/Sakurairo ***@***.***>
抄送: Comment ***@***.***>
主题: Re: [mirai-mamori/Sakurairo] 介绍一种让 Sakurairo 随侧边栏的出现,使其中的布局自动变色的方案 (Discussion #842)
提就完事啦
获取 Outlook for iOS<https://aka.ms/o0ukef>
________________________________
发件人: PolarisSdesu ***@***.***>
发送时间: Wednesday, January 31, 2024 10:23:41 AM
收件人: mirai-mamori/Sakurairo ***@***.***>
抄送: 染川瞳 ***@***.***>; Comment ***@***.***>
主题: Re: [mirai-mamori/Sakurairo] 介绍一种让 Sakurairo 随侧边栏的出现,使其中的布局自动变色的方案 (Discussion #842)
草,可以提 PR 吗
D
Reply to this email directly, view it on GitHub<#842 (reply in thread)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AOUJUFWJQKU7BBWSN7RDH2TYRGTK3AVCNFSM6AAAAABCQTIS2CVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DGMJUGA4TC>.
You are receiving this because you commented.Message ID: ***@***.***>
―
Reply to this email directly, view it on GitHub<#842 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AODGFLWYKDRKBB6TR3CLRODYRGTP3AVCNFSM6AAAAABCQTIS2CVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DGMJUGEYDE>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
0 replies
-
好了,PR 已提 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
引言
本教程包括布局:🍔移动端的汉堡菜单
iconflat
、搜索按钮i
、🔗顶栏中的标签元素a
的黑白色过渡,具体效果可前往我的博客https://polarissmusic.cn
查看。此处不介绍顶栏 Logo 自动变色方案的具体介绍,因为我的博客直接修改了顶栏的 PHP 文件以使用
svg
格式来作为我的顶栏 Logo。开始
对于🔍搜索按钮
i
、🔗顶栏中的标签元素a
这其实超级简单,按下 F12,在滚动页面时会发现有一个 CSS 样式
yya
被添加到顶栏中:所以我们只写一个:当
yya
样式出现时,更改搜索按钮i
及顶栏中的标签元素a
的颜色就可以:将以上自定义的 CSS 文件添加到你的 WordPress 后台中的:
外观
-->自定义
-->额外 CSS
中,随后点击发布
就可以了。我们通过元素定位,定位到了
i
和a
的位置,当yya
样式出现时,对其更改一个新的颜色属性。为了过渡更加流畅,我添加了
transition: all 0.3s cubic-bezier(0.82, 0, 0.58, 1);
贝塞尔曲线属性,如果你不喜欢可自行删除。对于🍔移动端的汉堡菜单
iconflat
这就不像搜索按钮和标签元素那样简单了,因为对于移动端的汉堡菜单中:
它并没有随着页面滚动而添加新的 CSS 样式,而且也没有被
yya
元素所包裹起来......解决方法
既然移动端的汉堡菜单
iconflat
没有随着页面的滚动而增加新的 CSS 样式,我们就来自己创造一个!yya
样式肯定是被一个 JavaScript 所控制,所以只要我们模仿那个 JavaScript 函数来写一个随着页面滚动,为汉堡菜单iconflat
添加一个新的 CSS 样式就可以了!于是找啊找......这个 JavaScript 位于
Sakurairo-2.6.3.1/js/app.js
!我们所需要的那部分长这样:
对它魔改一下......?
为了达到汉堡菜单自动变色的效果,我们首先要定义一个默认颜色,就选择白色吧;且当出现一个新的样式时,汉堡菜单的颜色要切换到黑色。
为此我们定义一个空的 CSS 样式:
make-it-black
,并实现上述效果:同理,将以上自定义的 CSS 文件添加到你的 WordPress 后台中的:
外观
-->自定义
-->额外 CSS
中,随后点击发布
就可以了。接下来是 JavaScript 的部分:
前往
Sakurairo-2.6.3.1/js/app.js
,使用自己喜欢的编辑器搜索yya
,定位到这部分直接对原内容(在 ### 解决方法 中
)覆盖即可。我们模仿原 JavaScript 文件添加了:
随着页面滚动,为汉堡菜单所在的元素添加一个
make-it-black
的空样式。配合先前定义的 CSS 样式,就可以做到汉堡菜单自动切换颜色的效果。
结语
感谢你阅读这篇文章。
链接树:
https://links.polarissmusic.cn
我的个人博客:
https://polarissmusic.cn
在 X(Twitter)上关注我:
https://twitter.com/PolarisSdesu
Beta Was this translation helpful? Give feedback.
All reactions