登 录
注册
Search
标签搜索
技术教程
typecho
JavaScript
成长日记
Joe主题
Typecho主题
前端学习
网站搭建
typecho函数
情感
css
帮助文档
虚拟机
服务器
typecho编辑器
插件
Linux
typecho插件
Windows
Win11
Brains - 灵感乌托邦
累计撰写
79
篇文章
累计收到
4,341
条评论
文章首页
分类栏目
技术教程
Typecho
程序代码
学习笔记
Web前端
CSS
JavaScript
其他文章
生活
独立页面
胡言乱语
生活吐槽
友情链接
网站统计
关于博主
自建图床
自建网盘
博主推荐
灵感宝物库
灵感图床库
Code-Server
在线工具箱
TypechoDoc
在线转换
灵感导航页
登录
丨
注册
CSS
(共
5
篇)
搜索到
5
篇与
CSS
的结果
『原创』『教程』给自己博客的侧栏增加社交信息,方便业务(PY)联系
> ## 前言 前不久突发奇想,录了一个视频然后留了自己的博客,却发现博客却没有链接回去的方式,所以就写了一个社交信息的侧栏模块 然后有小伙伴看到了,专门留言让我出个教程,当时答应的好好的,可是一连鸽了好几天,今天进入留言板看到许诺的话,不禁老脸一红,差点忘了这茬了 ::(狂汗)  > ## 成果展示 [博客的侧栏增加社交信息2.0](https://www.fuuuy.cn/archives/714.html) 这个模块适合任何主题及程序,只需要根据自己的主题或者程序进行改进就行 我这里演示的是我正在使用的Joe主题,是一款轻量、开源的主题 {tabs} {tabs-pane label="PC展示"}  {/tabs-pane} {tabs-pane label="PE展示"}  {/tabs-pane} {/tabs} > ## 教程开始 ### 一、添加PC端 打开 `Joe/public/aside.php` 文件,然后在想要增加的位置添加以下代码 {tabs} {tabs-pane label="代码"} {hide} ```php
2022年03月16日
16,409 阅读
80 评论
21 点赞
2022-03-16
『原创』『教程』首页及文章页滚动广告栏
> ## 前言 因为之前在很多网站上都能看到广告,虽然但是,这对很多博主来说也是一笔额外的收入,我一直是入不敷出!:@(吐血倒地) 然后我看到了执念博客的首页广告栏,虽然曝光确实大,但是用户体验极其不好,因为要翻很多广告才能翻到文章,就像这样:  所以我就想到了滚动广告,一个广告的位置,能够显示多条广告 > ## 成果展示 {tabs} {tabs-pane label="首页"}  {/tabs-pane} {tabs-pane label="文章页"}  {/tabs-pane} {/tabs} > ## 教程开始 灵感及相关代码来自于Joe主题的首页轮播图 ### 一、添加后台 打开 `functions.php` 添加以下代码 {tabs} {tabs-pane label="代码"} ```php $JADPost = new Typecho_Widget_Helper_Form_Element_Textarea( 'JADPost', NULL, NULL, '文章页顶部广告', '介绍:用于设置文章页顶部广告 格式:广告图片 || 跳转链接 (中间使用两个竖杠分隔) 注意:如果您只想显示图片不想跳转,可填写:广告图片 || javascript:void(0) 其他:一行一个,一行代表一个轮播广告图' ); $JADPost->setAttribute('class', 'joe_content joe_post'); $form->addInput($JADPost); ``` {/tabs-pane} {tabs-pane label="代码位置"} 因为有位小伙伴放错了位置,所以再贴一张图  {/tabs-pane} {/tabs} 这是文章页的代码,因为首页广告主题自带了  ### 二、添加滚动广告栏 {tabs} {tabs-pane label="首页"} 因为首页已经有广告位了,所以直接替换就行了 将主题 `index.php` 的以下代码直接替换为新代码 {collapse} {collapse-item label="代码位置" open}  {/collapse-item} {collapse-item label="新代码" open} {hide} ```php
2021年10月15日
34,239 阅读
77 评论
901 点赞
2021-10-15
『笔记』『代码』CSS3 Flex 布局详解文档
 > 网页布局(layout)是 CSS 的一个重点应用  布局的传统解决方案,基于 [盒状模型](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Box_Model/Introduction_to_the_CSS_box_model) ,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。  2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。 目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。 Flex 布局将成为未来布局的首选方案。本文介绍它的语法。 ## 一、Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。 任何一个容器都可以指定为 Flex 布局。 ```html .box{ display: flex; } ``` 行内元素也可以使用 Flex 布局。 ```html .box{ display: inline-flex; } ``` Webkit 内核的浏览器,必须加上 `-webkit` 前缀。 ```html .box{ display: -webkit-flex; /* Safari */ display: flex; } ``` 注意,设为 Flex 布局以后,子元素的 `float` 、 `clear` 和 `vertical-align` 属性将失效。 ## **二、基本概念** 采用 Flex 布局的元素,称为 Flex 容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称"项目"。  容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做 `main start` ,结束位置叫做 `main end` ;交叉轴的开始位置叫做 `cross start` ,结束位置叫做 `cross end` 。 项目默认沿主轴排列。单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做 `cross size` 。 ## **三、容器的属性** 以下6个属性设置在容器上。 {card-describe title=" **flex-direction** "} - flex-wrap - flex-flow - justify-content - align-items - align-content {/card-describe} ### 3.1 flex-direction属性 `flex-direction` 属性决定主轴的方向(即项目的排列方向)。 ```html .box { flex-direction: row | row-reverse | column | column-reverse; } ```  它可能有4个值。 - `row` (默认值):主轴为水平方向,起点在左端。 - `row-reverse` :主轴为水平方向,起点在右端。 - `column` :主轴为垂直方向,起点在上沿。 - `column-reverse` :主轴为垂直方向,起点在下沿。 ### 3.2 flex-wrap属性 默认情况下,项目都排在一条线(又称"轴线")上。 `flex-wrap` 属性定义,如果一条轴线排不下,如何换行。  ```html .box{ flex-wrap: nowrap | wrap | wrap-reverse; } ``` 它可能取三个值。 (1)nowrap(默认):不换行。  (2)wrap:换行,第一行在上方。  (3)wrap-reverse:换行,第一行在下方。  ### 3.3 flex-flow `flex-flow` 属性是 `flex-direction` 属性和 `flex-wrap` 属性的简写形式,默认值为 `row nowrap` 。 ```html .box { flex-flow: || ; } ``` ### 3.4 justify-content属性 `justify-content` 属性定义了项目在主轴上的对齐方式。 ```html .box { justify-content: flex-start | flex-end | center | space-between | space-around; } ```  它可能取5个值,具体对齐方式与轴的方向有关。下面假设主轴为从左到右。 - `flex-start` (默认值):左对齐 - `flex-end` :右对齐 - `center` : 居中 - `space-between` :两端对齐,项目之间的间隔都相等。 - `space-around` :每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。 ### 3.5 align-items属性 align-items属性定义项目在交叉轴上如何对齐。 ```html .box { align-items: flex-start | flex-end | center | baseline | stretch; } ```  它可能取5个值。具体的对齐方式与交叉轴的方向有关,下面假设交叉轴从上到下。 - `flex-start` :交叉轴的起点对齐。 - `flex-end` :交叉轴的终点对齐。 - `center` :交叉轴的中点对齐。 - `baseline` : 项目的第一行文字的基线对齐。 - `stretch` (默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。 ### 3.6 align-content属性 align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。 ```html .box { align-content: flex-start | flex-end | center | space-between | space-around | stretch; } ```  该属性可能取6个值。 - `flex-start` :与交叉轴的起点对齐。 - `flex-end` :与交叉轴的终点对齐。 - `center` :与交叉轴的中点对齐。 - `space-between` :与交叉轴两端对齐,轴线之间的间隔平均分布。 - `space-around` :每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。 - `stretch` (默认值):轴线占满整个交叉轴。 ## **四、项目的属性** 以下6个属性设置在项目上。 - `order` - `flex-grow` - `flex-shrink` - `flex-basis` - `flex` - `align-self` ### 4.1 order属性 order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。 ```html .item { order: ; } ```  ### 4.2 flex-grow属性 flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。 ```html .item { flex-grow: ; /* default 0 */ } ```  如果所有项目的 `flex-grow` 属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的 `flex-grow` 属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍。 ### 4.3 flex-shrink属性 flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。 ```html .item { flex-shrink: ; /* default 1 */ } ```  如果所有项目的 `flex-shrink` 属性都为1,当空间不足时,都将等比例缩小。如果一个项目的 `flex-shrink` 属性为0,其他项目都为1,则空间不足时,前者不缩小。 **负值对该属性无效。** ### 4.4 flex-basis属性 `flex-basis` 属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为 `auto` ,即项目的本来大小。 ```html .item { flex-basis: | auto; /* default auto */ } ``` 它可以设为跟 `width` 或 `height` 属性一样的值(比如350px),则项目将占据固定空间。 ### 4.5 flex属性 flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。 ```html .item { flex: none | [ ? || ] } ``` 该属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)。 建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值。 ### 4.6 align-self属性 align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。 ```html .item { align-self: auto | flex-start | flex-end | center | baseline | stretch; } ```  该属性可能取6个值,除了auto,其他都与 `align-items` 属性完全一致。 转自: [Lovestu](https://www.lovestu.com/cssflex.html)
2021年06月03日
1,764 阅读
4 评论
26 点赞
2021-06-03
『原创』『代码』为你的博客添加悬浮打赏按钮(按钮切换)
> ## 前言 博客搭建已经有一段时间了,文章也写了不少了(虽然有些是扒的:@(狂汗)XD) 但是前几天有人发消息说觉得我的文章帮到他了,想要打赏,却没有打赏途径 找了很久,除了几个插件就没有我心仪的,但是插件又要下载上传,太麻烦了 XD 所以我就用自学的HTML写了一个悬浮打赏按钮,添加到文章点赞旁边,效果很好,我非常满意,所以现在分享出来 > ## 成果展示 {tabs} {tabs-pane label="第一版"}  {/tabs-pane} {tabs-pane label="第二版"}  {/tabs-pane} {tabs-pane label="切换版"}  {/tabs-pane} {/tabs} > ## 版本升级 当我把这个功能做好后,发给要打赏我的人时,Ta却说打赏不了,在微信中总是识别成支付宝的链接 :@(吐血倒地) 然后我自己试了一下,发现确实会识别错位,不知道是不是支付宝的二维码更要强一些,识别十次九次都是支付宝链接,打赏的人都不想给我打赏了,气死我了 :@(内伤) {dotted startColor="#ff6c6c" endColor="#1989fa"/} 然后我就想到了点击切换二维码,说干就干,首先我用css试了很久,发现光用css已经实现不了我的需求了 然后我就开始琢磨JS来实现,开始用了if语句来切换 `img` 的 `url` ,确实可以切换了,但是if语句只能对应一个按钮,如果别人不知道按钮可以切换,那就仅显示一个二维码 突然想到,既然用js了,那为什么不直接根据不同的 `input` 按钮给 `img` 赋值呢,然后我就写了三段赋值语句(学艺不精啊) :@(尴尬) 然后就实现了一个按钮切换一个二维码了 {dotted startColor="#ff6c6c" endColor="#1989fa"/} 再发给要打赏我的人,结果.... :@(无奈) 只打赏了0.01元 :@(扇耳光) > ## 代码分享 其实这个功能很简单,其实就是CSS的 `:hover` 来实现的 我使用的是Joe主题,所以我直接添加在点赞旁边,让它看看起来跟整个主题更协调 首先找到Joe主题目录中的点赞文件 `public/handle.php` 再在点赞按钮后添加以下代码 隐藏内容,请前往内页查看详情 添加到 `public/handle.php` 的倒数第二行  保存后,刷新网站,打赏按钮就出现了,试着把鼠标移上去看看效果吧! > ## 切换版下载
2021年04月05日
26,115 阅读
207 评论
1,278 点赞
2021-04-05
『原创』『教程』给你的Typecho博客侧边栏加一个恋爱计时(修复夜间模式样式)
> ## 前言 前几天在翻主页的时候,看到 [Nots](https://blog.n0ts.cn/) 分享了他和他女朋友的甜蜜日常。 然后注意到了他网站侧栏的小部件,有一个他和他女朋友恋爱的计时模块,很感兴趣 我刚好也想给自己女朋友制作一点小浪漫,所以就着手把他分享的代码搬了过来,做了一些优化 > ## 紧急修复 刚测试时发现夜间模式下,会直接透明显示,没有浮块显示 我估计是主题作者忘记给自定义模块设置背景色了,所以显示很不协调,就像这样  所以我又调用了Joe主题的CSS样式,让这个模块会根据日间模式和夜间模式改变背景颜色,达到和其他模块样式统一 顺便修改了这个模块的文字颜色,夜间模式下不会再是一片漆黑了(**PE端同时修复**)  > ## 成果展示 {tabs} {tabs-pane label="**PC端**"}  {/tabs-pane} {tabs-pane label="**手机端**"}  {/tabs-pane} {/tabs} > ## 实现方法 本教程仅适用于typecho且使用了Joe主题的小伙伴,其他主题或者博客的小伙伴请自行发挥你们的才能 {tabs} {tabs-pane label="PC端"} {callout color="#f0ad4e"} PC端代码:(样式我已经根据Joe主题适配好了,不喜欢的自己修改) {/callout} {mtitle title="在文章最后下载"/} 如果是使用的 [**Joe for typecho**](https://www.fuuuy.cn/archives/292.html) ,那就很简单了,直接在后台的主题设置里 登录你的网站后台,进入 **外观设置-网站外观-设置外观(必须使用Joe主题)-侧栏设置**  找到 **自定义侧边栏模块-PC**  保存好后,再刷新自己的网站就可以看到了! {/tabs-pane} {tabs-pane label="PE端"} {callout color="#ab74e4"} PE端代码:(因为是后端代码,所以我就直接套用了Joe主题的样式) {/callout} {mtitle title="在文章最后下载"/} 手机端的侧栏要复杂一点,但你都进入我的博客了,那我肯定要手把手把你教会了:@(得意) 如果你懂一些 **HTML**,那就很容易能找到PE端的侧栏文件 PE端的样式配置在 **Joe/public/header.php**里 那我们直接在 **header.php** 添加代码就行了,找到PE端侧栏配置位置  然后找到想要加入的位置,可以加在作者信息下,也可以加在网站统计下 我是加在了作者信息下,可以更为直接显示,也更明显,主要是女朋友能够一眼就看到:@(得意)  当然这里添加的代码跟上面的是有一点区别的,我试了几次,发现同样的代码会出现PE端显示,而PC端文字不显示 测试了很多次,终于被我发现,原来是 **JS** 的 **id** 重复了,导致PHP后端的id占用了前端的id 而因为PE端的代码是直接加在源代码里的,所以导致PC端文字不显示了 因此我又对代码进行了优化,没错,从发现bug-测试bug-修改bug又磨了我一小时:@(喷血) **注意:**因为是修改了后端代码,每次更新Joe的主题时都会被覆盖,所以每次更新主题后记得去 **header.php** 重新添加代码 希望Joe主题作者后期能够添加自定义PE侧栏的功能,~~或者不要更新太频繁~~ :@(扇耳光) {/tabs-pane} {/tabs} > ## 结语 教程到此结束,祝各位早日找到心仪的另一半,幸福美满! 感谢 **Nots** 分享的代码。 > ## 代码下载
2021年03月08日
34,727 阅读
170 评论
672 点赞
2021-03-08