【转】如何正确食用博客园的CSS定制

[技术] 如何正确食用cnblogs的CSS定制

用过cnblogs的估计都知道cnblogs提供了相对比较开放的个性化选项,其中最为突出的估计就是页面CSS定制了.但是没学过Web前端的人可能并不会用这个东西...

所以我打算在此分享一些定制CSS过程中使用的奇技淫巧一些方法来帮助大家定制blog qwq

以后如果想到新的主意或者更好的表述的话估计还会回来更新一波...本博文不定期更新吧w

博主并非专业Web开发,所以可能有些语言不够严谨或者不够准确还请谅解qwq

如果有表意模糊的地方也欢迎留言qwq

1.何谓CSS

CSS,即层叠样式表,可以被认为是HTML的扩充,用于给HTML里结构化的内容指定显示方式,比如字体/背景/大小/间距/特殊效果/过渡效果等.

Wikipedia中的概述如下:

层叠样式表英语:Cascading Style Sheets,简写 CSS),又称串样式列表级联样式表串接样式表层叠样式表階層式樣式表,一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的计算机语言,由 W3C 定义和维护。

CSS可以使HTML中仅包含结构信息而不必纠结如何显示,也可以像常量和函数一样做到将信息集中在一处使得修改更方便.这也就是我们自定义CSS的工作原理.

网页的读者和作者都可以使用CSS来决定文件的颜色字体排版等显示特性。CSS 最主要的目的是将文件的内容与显示分隔开来。

所以cnblogs提供的CSS定制其实算深度定制通道了(当然自己搭blog除外了233)

由于CSS语法体系相对也比较大,这里除了部分用到的属性之外不再仔细介绍.详细内容可以自行参考W3School的CSS教程

 

一般来讲我们只需了解基本语法/边框/字体/背景设置就可以进行基础的个性化了.

 

定制blog首先需要参考HTML中的结构信息,而这是cnblogs生成的,但是不同主题方案的结构与自定义空间并不一样,有些可以很容易地个性化,而有些就基本不可调整.

个人认为一般SimpleMemory主题是最容易进行定制的.一般越是简洁的主题定制空间越大.

下文将以SimpleMemory主题模板为例来进行演示.其他模板主题大同小异,只要善用浏览器的开发功能就可以取得很好的效果.

2. 定制中的有力工具:浏览器

如果你担心你没有Web开发环境,没有关系,你的浏览器其实在这种时候就是最好的IDE.比如Chrome浏览器中的"审查元素"功能(在新版Chrome中这个选项似乎更名了qwq)可以帮助你快速定位想要修改显示样式的元素位置并显示该元素所引用的CSS内容来进行修改.而且浏览器中的开发者工具大都能实时显示修改内容来进行一些细致的调整.

下文将以Chrome为例,其他浏览器一般都有类似的开发者工具或者页面编辑模块.

3. 背景更改

最基础的定制可能就是修改背景了吧,但是CSS需要引用Internet上的图片文件,这时需要先找到一个靠谱的图床或者干脆传到cnblogs相册里.然后对上传好的图片获取URL.

然后我们可以按下F12打开浏览器的开发者工具,定位到body元素的样式表,原版CSS中只有 background-color 一个背景相关的属性.我们可以将它改成 background-image 属性或者直接使用 background 属性来修改,比如改成如下内容:

background: url(http://images.cnblogs.com/cnblogs_com/someone/something.png) fixed;

url中填上传好的图片的URL,最后的值 fixed 表示图片固定,不随网页的滚动而移动.也可以选择不固定图片.

4. Blog主要内容的透明度设置

我们设置了背景图之后可能会发现: WTF我的背景图整个被Blog主体给挡住了啊QAQ

很多主题的主体内容都是不透明的,这时我们需要手动进行一些调整.

首先审查元素定位到整个主体内容框,将原版CSS中的 rgb 颜色或者十六进制颜色代码改为 rgba 颜色.这时我们就可以加一个Alpha值,代表元素的不透明度.

如果背景图对比度很高的话不建议将透明度调整得过低,否则极有可能影响博文的可读性.

如果想调整透明度的话一般要将页面上的可显示内容全部设置好透明度,这时就到了考验耐心的时候了233不断观察然后将自己所不满意的元素审查元素然后更改对应样式即可.

参考数据:博主的主体部分的Alpha值为0.8左右,其他需要一定程度突出显示的元素的Alpha值为0.3左右.

5. SimpleMemory侧边栏模块的标题样式设置

SimpleMemory主题的侧边栏模块标题都只是空荡荡的一串文本,我们可以对其设置Padding/Margin/Border.比如博主右侧的侧边栏就进行了一些自定义设置.代码如下:

按 Ctrl+C 复制代码
按 Ctrl+C 复制代码

6. 字体设置

我们有时候可能会想更改博客中一些文本的字体比如更改不同等级标题的字体和文本的字体,这时依然可以通过审查元素找到对应的样式.

CSS中一般不指定字体,而是指定字体家族(Font Family),也就是指定字体大致的显示类型,具体使用哪种字体实际上由用户的情况决定.

需要注意超过一个单词的Font Family需要用引号引起来.

字体大小由 font-size 属性设置,按需调整就可以.还有字体阴影属性 font-shadow 等很多,具体参考W3School好了w

7. 从他人博客中"借鉴"CSS

当你懒得自己调整然而又看见某人的Blog全部(或其中一部分元素)看起来定制得非常合你口味,可以有两种方式获取TA的自定义CSS:

1.打开浏览器开发工具,在所有源中查找一个文件名为TA的UID的CSS文件

2.将网页全部另存后在保存的除HTML外的其他源中查找上述CSS文件

打开之后就可以结合自己在HTML结构中的查找结果来定位到自己需要的样式并放在Blog设置中了.

读书人的事怎么能叫偷嘛

UPD: 可能有些博主使用了一些许可协议来保护博客内容, 这时就不能随便"借鉴"了因为博主可能有权查你水表...比如本人使用的CC-BY-NC-SA 4.0许可协议

附: 各种其他可能用到的属性

摘自http://www.w3school.com.cn/cssref/index.asp

CSS3 动画属性(Animation)

属性描述CSS
@keyframes规定动画。3
animation所有动画属性的简写属性,除了 animation-play-state 属性。3
animation-name规定 @keyframes 动画的名称。3
animation-duration规定动画完成一个周期所花费的秒或毫秒。3
animation-timing-function规定动画的速度曲线。3
animation-delay规定动画何时开始。3
animation-iteration-count规定动画被播放的次数。3
animation-direction规定动画是否在下一周期逆向地播放。3
animation-play-state规定动画是否正在运行或暂停。3
animation-fill-mode规定对象动画时间之外的状态。3

CSS 背景属性(Background)

属性描述CSS
background在一个声明中设置所有的背景属性。1
background-attachment设置背景图像是否固定或者随着页面的其余部分滚动。1
background-color设置元素的背景颜色。1
background-image设置元素的背景图像。1
background-position设置背景图像的开始位置。1
background-repeat设置是否及如何重复背景图像。1
background-clip规定背景的绘制区域。3
background-origin规定背景图片的定位区域。3
background-size规定背景图片的尺寸。3

CSS 边框属性(Border 和 Outline)

属性描述CSS
border在一个声明中设置所有的边框属性。1
border-bottom在一个声明中设置所有的下边框属性。1
border-bottom-color设置下边框的颜色。2
border-bottom-style设置下边框的样式。2
border-bottom-width设置下边框的宽度。1
border-color设置四条边框的颜色。1
border-left在一个声明中设置所有的左边框属性。1
border-left-color设置左边框的颜色。2
border-left-style设置左边框的样式。2
border-left-width设置左边框的宽度。1
border-right在一个声明中设置所有的右边框属性。1
border-right-color设置右边框的颜色。2
border-right-style设置右边框的样式。2
border-right-width设置右边框的宽度。1
border-style设置四条边框的样式。1
border-top在一个声明中设置所有的上边框属性。1
border-top-color设置上边框的颜色。2
border-top-style设置上边框的样式。2
border-top-width设置上边框的宽度。1
border-width设置四条边框的宽度。1
outline在一个声明中设置所有的轮廓属性。2
outline-color设置轮廓的颜色。2
outline-style设置轮廓的样式。2
outline-width设置轮廓的宽度。2
border-bottom-left-radius定义边框左下角的形状。3
border-bottom-right-radius定义边框右下角的形状。3
border-image简写属性,设置所有 border-image-* 属性。3
border-image-outset规定边框图像区域超出边框的量。3
border-image-repeat图像边框是否应平铺(repeated)、铺满(rounded)或拉伸(stretched)。3
border-image-slice规定图像边框的向内偏移。3
border-image-source规定用作边框的图片。3
border-image-width规定图片边框的宽度。3
border-radius简写属性,设置所有四个 border-*-radius 属性。3
border-top-left-radius定义边框左上角的形状。3
border-top-right-radius定义边框右下角的形状。3
box-decoration-break3
box-shadow向方框添加一个或多个阴影。3

Box 属性

属性描述CSS
overflow-x如果内容溢出了元素内容区域,是否对内容的左/右边缘进行裁剪。3
overflow-y如果内容溢出了元素内容区域,是否对内容的上/下边缘进行裁剪。3
overflow-style规定溢出元素的首选滚动方法。3
rotation围绕由 rotation-point 属性定义的点对元素进行旋转。3
rotation-point定义距离上左边框边缘的偏移点。3

Color 属性

属性描述CSS
color-profile允许使用源的颜色配置文件的默认以外的规范。3
opacity规定书签的级别。3
rendering-intent允许使用颜色配置文件渲染意图的默认以外的规范。3

Content for Paged Media 属性

属性描述CSS
bookmark-label规定书签的标记。3
bookmark-level规定书签的级别。3
bookmark-target规定书签链接的目标。3
float-offset将元素放在 float 属性通常放置的位置的相反方向。3
hyphenate-after规定连字单词中连字符之后的最小字符数。3
hyphenate-before规定连字单词中连字符之前的最小字符数。3
hyphenate-character规定当发生断字时显示的字符串。3
hyphenate-lines指示元素中连续断字连线的最大数。3
hyphenate-resource规定帮助浏览器确定断字点的外部资源(逗号分隔的列表)。3
hyphens设置如何对单词进行拆分,以改善段落的布局。3
image-resolution规定图像的正确分辨率。3
marks向文档添加裁切标记或十字标记。3
string-set3

CSS 尺寸属性(Dimension)

属性描述CSS
height设置元素高度。1
max-height设置元素的最大高度。2
max-width设置元素的最大宽度。2
min-height设置元素的最小高度。2
min-width设置元素的最小宽度。2
width设置元素的宽度。1

可伸缩框属性(Flexible Box)

属性描述CSS
box-align规定如何对齐框的子元素。3
box-direction规定框的子元素的显示方向。3
box-flex规定框的子元素是否可伸缩。3
box-flex-group将可伸缩元素分配到柔性分组。3
box-lines规定当超出父元素框的空间时,是否换行显示。3
box-ordinal-group规定框的子元素的显示次序。3
box-orient规定框的子元素是否应水平或垂直排列。3
box-pack规定水平框中的水平位置或者垂直框中的垂直位置。3

CSS 字体属性(Font)

属性描述CSS
font在一个声明中设置所有字体属性。1
font-family规定文本的字体系列。1
font-size规定文本的字体尺寸。1
font-size-adjust为元素规定 aspect 值。2
font-stretch收缩或拉伸当前的字体系列。2
font-style规定文本的字体样式。1
font-variant规定是否以小型大写字母的字体显示文本。1
font-weight规定字体的粗细。1

内容生成(Generated Content)

属性描述CSS
content与 :before 以及 :after 伪元素配合使用,来插入生成内容。2
counter-increment递增或递减一个或多个计数器。2
counter-reset创建或重置一个或多个计数器。2
quotes设置嵌套引用的引号类型。2
crop允许被替换元素仅仅是对象的矩形区域,而不是整个对象。3
move-to从流中删除元素,然后在文档中后面的点上重新插入。3
page-policy确定元素基于页面的 occurrence 应用于计数器还是字符串值。3

Grid 属性

属性描述CSS
grid-columns规定网格中每个列的宽度。3
grid-rows规定网格中每个列的高度。3

CSS 列表属性(List)

属性描述CSS
list-style在一个声明中设置所有的列表属性。1
list-style-image将图象设置为列表项标记。1
list-style-position设置列表项标记的放置位置。1
list-style-type设置列表项标记的类型。1
marker-offset2

CSS 外边距属性(Margin)

属性描述CSS
margin在一个声明中设置所有外边距属性。1
margin-bottom设置元素的下外边距。1
margin-left设置元素的左外边距。1
margin-right设置元素的右外边距。1
margin-top设置元素的上外边距。1

Marquee 属性

属性描述CSS
marquee-direction设置移动内容的方向。3
marquee-play-count设置内容移动多少次。3
marquee-speed设置内容滚动得多快。3
marquee-style设置移动内容的样式。3

多列属性(Multi-column)

属性描述CSS
column-count规定元素应该被分隔的列数。3
column-fill规定如何填充列。3
column-gap规定列之间的间隔。3
column-rule设置所有 column-rule-* 属性的简写属性。3
column-rule-color规定列之间规则的颜色。3
column-rule-style规定列之间规则的样式。3
column-rule-width规定列之间规则的宽度。3
column-span规定元素应该横跨的列数。3
column-width规定列的宽度。3
columns规定设置 column-width 和 column-count 的简写属性。3

CSS 内边距属性(Padding)

属性描述CSS
padding在一个声明中设置所有内边距属性。1
padding-bottom设置元素的下内边距。1
padding-left设置元素的左内边距。1
padding-right设置元素的右内边距。1
padding-top设置元素的上内边距。1

Paged Media 属性

属性描述CSS
fit示意如何对width和height属性均不是auto的被替换元素进行缩放。3
fit-position定义盒内对象的对齐方式。3
image-orientation规定用户代理应用于图像的顺时针方向旋转。3
page规定元素应该被显示的页面特定类型。3
size规定页面内容包含框的尺寸和方向。3

CSS 定位属性(Positioning)

属性描述CSS
bottom设置定位元素下外边距边界与其包含块下边界之间的偏移。2
clear规定元素的哪一侧不允许其他浮动元素。1
clip剪裁绝对定位元素。2
cursor规定要显示的光标的类型(形状)。2
display规定元素应该生成的框的类型。1
float规定框是否应该浮动。1
left设置定位元素左外边距边界与其包含块左边界之间的偏移。2
overflow规定当内容溢出元素框时发生的事情。2
position规定元素的定位类型。2
right设置定位元素右外边距边界与其包含块右边界之间的偏移。2
top设置定位元素的上外边距边界与其包含块上边界之间的偏移。2
vertical-align设置元素的垂直对齐方式。1
visibility规定元素是否可见。2
z-index设置元素的堆叠顺序。2

CSS 打印属性(Print)

属性描述CSS
orphans设置当元素内部发生分页时必须在页面底部保留的最少行数。2
page-break-after设置元素后的分页行为。2
page-break-before设置元素前的分页行为。2
page-break-inside设置元素内部的分页行为。2
widows设置当元素内部发生分页时必须在页面顶部保留的最少行数。2

CSS 表格属性(Table)

属性描述CSS
border-collapse规定是否合并表格边框。2
border-spacing规定相邻单元格边框之间的距离。2
caption-side规定表格标题的位置。2
empty-cells规定是否显示表格中的空单元格上的边框和背景。2
table-layout设置用于表格的布局算法。2

CSS 文本属性(Text)

属性描述CSS
color设置文本的颜色。1
direction规定文本的方向 / 书写方向。2
letter-spacing设置字符间距。1
line-height设置行高。1
text-align规定文本的水平对齐方式。1
text-decoration规定添加到文本的装饰效果。1
text-indent规定文本块首行的缩进。1
text-shadow规定添加到文本的阴影效果。2
text-transform控制文本的大小写。1
unicode-bidi设置文本方向。2
white-space规定如何处理元素中的空白。1
word-spacing设置单词间距。1
hanging-punctuation规定标点字符是否位于线框之外。3
punctuation-trim规定是否对标点字符进行修剪。3
text-align-last设置如何对齐最后一行或紧挨着强制换行符之前的行。3
text-emphasis向元素的文本应用重点标记以及重点标记的前景色。3
text-justify规定当 text-align 设置为 "justify" 时所使用的对齐方法。3
text-outline规定文本的轮廓。3
text-overflow规定当文本溢出包含元素时发生的事情。3
text-shadow向文本添加阴影。3
text-wrap规定文本的换行规则。3
word-break规定非中日韩文本的换行规则。3
word-wrap允许对长的不可分割的单词进行分割并换行到下一行。3

2D/3D 转换属性(Transform)

属性描述CSS
transform向元素应用 2D 或 3D 转换。3
transform-origin允许你改变被转换元素的位置。3
transform-style规定被嵌套元素如何在 3D 空间中显示。3
perspective规定 3D 元素的透视效果。3
perspective-origin规定 3D 元素的底部位置。3
backface-visibility定义元素在不面对屏幕时是否可见。3

过渡属性(Transition)

属性描述CSS
transition简写属性,用于在一个属性中设置四个过渡属性。3
transition-property规定应用过渡的 CSS 属性的名称。3
transition-duration定义过渡效果花费的时间。3
transition-timing-function规定过渡效果的时间曲线。3
transition-delay规定过渡效果何时开始。3

用户界面属性(User-interface)

属性描述CSS
appearance允许您将元素设置为标准用户界面元素的外观3
box-sizing允许您以确切的方式定义适应某个区域的具体内容。3
icon为创作者提供使用图标化等价物来设置元素样式的能力。3
nav-down规定在使用 arrow-down 导航键时向何处导航。3
nav-index设置元素的 tab 键控制次序。3
nav-left规定在使用 arrow-left 导航键时向何处导航。3
nav-right规定在使用 arrow-right 导航键时向何处导航。3
nav-up规定在使用 arrow-up 导航键时向何处导航。3
outline-offset对轮廓进行偏移,并在超出边框边缘的位置绘制轮廓。3
resize规定是否可由用户对元素的尺寸进行调整。3

最后祝大家的Blog颜值++,访问++ (^_^)

(然后就这么水了一篇博(逃))

分类: 其他技术
21
0
« 上一篇: [BZOJ 1458] 士兵占领
» 下一篇: [BZOJ 3829][POI2014] FarmCraft
posted @ 2017-07-31 20:23 rvalue 阅读( 1051) 评论( 3) 编辑 收藏

   回复引用
#1楼 2018-04-12 22:53 cyanmsg  
想问问博主的markdown是怎么弄的?
好像款式不是默认的呀..?
http://pic.cnblogs.com/face/1193530/20181010135819.png
   回复引用
#2楼 [ 楼主] 2018-04-29 14:21 rvalue  
@ mistake11
并不是Markdown的说...
不过可以通过更改<h1>(h2/h3/h4)标签的CSS来实现
http://pic.cnblogs.com/face/1200714/20171231215654.png
   回复引用
#3楼 4008072 2018/6/28 20:14:16 2018-06-28 20:14 扶我起来我还能敲  
请问日历头部那一块白色背景怎么弄透明?找了好久没找到
http://pic.cnblogs.com/face/1320942/20180321140237.png

转载于:https://www.cnblogs.com/irischen/p/how-to-use-CSS-01.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值