用过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.比如博主右侧的侧边栏就进行了一些自定义设置.代码如下:

 .catListTitle {
margin-top: 21px;
margin-bottom: 10.5px;
text-align: left;
border-left: 10px solid rgba(82, 168, 236, 0.8);
padding: 10px 0 14px 10px;
background-color: rgba(245,245,245,0.3);
}

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设置中了.

UPDD: 我的CSS在此开放大家使用, 但是希望大家能够在CSS注释中注明来源QAQ...感谢大家配合qwq!

读书人的事怎么能叫偷嘛

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-break 3
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-set 3

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

Hyperlink 属性

属性 描述 CSS
target 简写属性,设置target-name、target-new以及target-position属性。 3
target-name 规定在何处打开链接(链接的目标)。 3
target-new 规定目标链接在新窗口还是在已有窗口的新标签页中打开。 3
target-position 规定在何处放置新的目标链接。 3

CSS 列表属性(List)

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

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颜值++,访问++ (^_^)

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

[技术] 如何正确食用cnblogs的CSS定制的更多相关文章

  1. 学习网页制作中如何在正确选取和使用 CSS 单位

    在 CSS 测量系统中,有好几种单位,如像素.百分比.英寸.厘米等等,Web 开发人员很难了解哪些单位在何处使用,如何使用.很多人习惯了总是使用同一种单位,但这一决定可能会严重限制你的设计的执行. 这 ...

  2. 百度前端技术学院—-小薇学院(HTML+CSS课程任务)

    任务一:零基础HTML编码 课程概述 作业提交截止时间:04-24 重要说明 百度前端技术学院的课程任务是由百度前端工程师专为对前端不同掌握程度的同学设计.我们尽力保证课程内容的质量以及学习难度的合理 ...

  3. 黑科技:纯CSS定制文本省略

    作者:weilong,腾讯 web前端开发 工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. WeTest导读 拿到设计MM的设计稿,Oh NO,点点点后面又双叒叕加内容了,弹丸 ...

  4. cnblog博客CSS定制

    一.页面定制CSS #home { margin: 0 auto; width: 80%;/*原始65*/ min-width: 980px;/*页面顶部的宽度*/ background-color: ...

  5. [na]整一下博客面貌--cnblog css定制

    前言 之前觉得cnblog排版乱. 而csdn对word兼容性较好一些.所以就转到csdn了. 后来看到别人的cnblog排版挺好,如 等效果. 参考资料 http://www.cnblogs.com ...

  6. 黑科技:CSS定制多行省略

    转载请注明出处:http://hai.li/2017/03/08/css-multiline-overflow-ellipsis.html 什么是多行省略? 当字数多到一定程度就显示省略号点点点.最初 ...

  7. 谈谈CSS预处理技术中for循环的应用-CSS Sprite

    各种新技术的出现,推动着Web前端技术飞速发展,在提升用户体验的同时也方便开发者: 在前端优化时,我们使用CSSSprite技术,把多个图片合在一张图片上,然后通过background-image,b ...

  8. 前端技术API手册(2) -- CSS API 的实现

    微信小程序 jQuery每日经典 第二阶段已经发布,截至目前收录的技术有jQuery和CSS.其他技术正在不断的填充完善中. CSS技术手册实现的方法: 资料来源 所有的CSS资料均参考自网址:htt ...

  9. 【技术分享会】 @第三期 CSS框架 PRUE 实现自适应和响应式

    Pure网址:https://purecss.cn/ 什么是响应式和自适应? .响应式:样式会随着屏幕大小改变,同一页面设备不同样式不同 .自适应:不管屏幕大小,页面的样式比例不变 响应式和自适应怎么 ...

随机推荐

  1. php利用gd实现图片的边框

    <?php //实现两张图片合并 并内图片有一定的边框 $file = 'image/qr_1047.png'; $logo = 'image/logo_1047.jpg'; $code = ' ...

  2. vmware克隆虚拟机后网卡名称及网络地址xiuf

    使用vmware克隆虚拟机后,若原主机网卡名称为eth0,那么克隆后的主机使用ifconfig查看仅能看到一个名称为eth1的网卡 并且在/etc/sysconfig/network-scripts/ ...

  3. PHP提取字符串中的所有汉字

    <?php $str = 'aiezu.com 爱E族, baidu.com 百度'; preg_match_all("#[\x{4e00}-\x{9fa5}]#u", $s ...

  4. [leetcode-563-Binary Tree Tilt]

    Given a binary tree, return the tilt of the whole tree.The tilt of a tree node is defined as the abs ...

  5. 4.jsp的内置对象

    1.jsp有九大内置对象 out request response session application page pagecontext exception config 2.用户发请求 requ ...

  6. Android开发随手记

    本文是作者在Android开发实践中的随手速记,记录一些小问题的解决方案和注意事项,持续更新. 以下是速记内容,若有不严谨的地方,望小伙伴们指出. 1.Module 不生成R文件,可尝试取消对该Mod ...

  7. String,StringBuffer与StringBuilder

    1. String,StringBuffer与StringBuilder的区别 String:存储在常量池中:是不可变的字符序列,任何对String值的改变都会引发新的String对象的生成,因此执行 ...

  8. JQuery实战——页面进度条效果

    今早逛阮一峰大神的博客 ECMAScript 6 入门 时候看到页面顶部有个进度条显示当前浏览的进度,如图: 顶部进度条会根据当前页面高度进行宽度调整,实战一番,视觉使用animated方法实现.下面 ...

  9. input标签在只允许输入数字的时候添加的代码

    oninput="this.value=this.value.replace(/\D/g, '')"

  10. SSIM(结构相似度算法)不同实现版本的差异

    前言 最近用ssim测试图片画质损伤时,发现matlab自带ssim与之前一直使用的ssim计算得分有差异,故和同事开始确定差异所在. 不同的SSIM版本 这里提到不同的ssim版本主要基于matla ...