<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style type="text/css"> p{ font-family:"宋体"; font-size:14px; } .p2{ font-style:italic; } .p3{ font-weight:bold; } .p4{ font-family:"微软雅黑"; } .p5{ font-size:36px; } </style> </head> <body> <p class="p1">这是第一行(样式为:标签选择器p中的样式)</p> <p class="p2">这是第二行(样式为:斜体)</p> <p class="p3">这是第三行(样式为:加粗)</p> <p class="p4">这是第四行(样式为:字体变成微软雅黑)</p> <p class="p5">这是第五行(样式为:字体大小为36px)</p> </body> </html>
效果演示图如下所示:
1.png
<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style type="text/css"> .div1{ width:500px; border:1px solid #000; padding:20px; } .p1{ color:red; } .p2{ text-align:center; } .p3{ line-height:50px; } .p4{ text-indent:2em; } .p5{ text-decoration:line-through; } .div2{ border:1px solid red; padding:20px; }  .img1{ width:70px; height:70px; vertical-align:middle; } </style> </head> <body> <div class="div1"> <p class="p1">这是第一行(样式为: 字体红色)</p> <p class="p2">这是第二行(样式为:居中)</p> <p class="p3">这是第三行(样式为:行高50px)</p> <p class="p4">这是第四行(样式为:缩进2em)</p> <p class="p5">这是第五行(样式为:删除线)</p> <div class="div2"> <img src="tu24.png" alt="" class="img1">这是第六行(样式为:垂直居中) </div> </div> </body> </html>
演示效果如图所示:
2.png
<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style type="text/css"> .div1{ width:500px; height:500px; background-color:#F1CCE8; //背景颜色 } .div2{ width:100%; height:100%; background-image:url(tu24.png); // 插入背景图片 background-repeat:no-repeat; //图片不平铺 background-position:center center; //背景图片垂直水平居中 } </style> </head> <body> <div class="div1"> <div class="div2"> </div> </div> </body> </html>
演示效果图:
3.png
<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style type="text/css"> .div1{ width:300px; height:300px; background-color:#F1CCE8; padding:20px; } .ul1{ } .ul2{ list-style-type:none; } .ul3{ list-style-image:url(person02.png); list-style-position:outside; } </style> </head> <body> <div class="div1"> <ul class="ul1"> <li>第一队</li> <li>第一队</li> <li>第一队</li> </ul> <ul class="ul2"> <li>第二队</li> <li>第二队</li> <li>第二队</li> </ul> <ul class="ul3"> <li>第三队</li> <li>第三队</li> <li>第三队</li> </ul> </div> </body> </html>
演示效果图为:
4.png
行代码就能让我的网站支持代码高亮的工具库,也支持在 Vue 中使用,强烈推荐给大家。
highlight.js 是一款使用 javascript 开发代码高亮工具库,能够让网页上的代码显示接近我们使用的代码编辑器的高亮样式,从而看起来更舒服,增强阅读体验。
highlight.js 官网截图
常来我网站的小伙伴都知道,我的文章有一个栏目是“前端”,主要推荐一下实用的前端开源项目或者组件库,写技术类文章免不了要贴代码,我的网站基于 wordpress 搭建,此前我一直为找一款代码高亮插件烦恼,但大部分 wordpress 的代码高亮插件实在太臃肿,出来的样式又不美观。大多时候是截图 VsCode 的代码界面,甚至还用过 codepng 这个工具把代码变成图片贴在文章中,但这样做是美观了,但也存在2个问题:
最终还是找到了 highlight.js,完美解决了上面两个问题,而且配置简单,演示漂亮,定制化简单。不禁感叹:用纯前端的方式解决,才能精准控制,实现想要的效果。
下面以我的网站为例,展示将 highlight.js 用在我们的项目上的方法。首先 highlight.js 支持 cdn 直接引入和 npm 安装,我的网站基于 wordpress 开发,主题是自己写的,最简单的方式就是在文章详情页引入 highlight.js 和主题样式。
虽然 highlight.js 支持几百种开发语言,但为了将文件体积控制到最小,我们可以点击“get version”按钮进入下载页,通过勾选我们需要的开发语言,来构建最轻量的库。
下载解压后得到的 highlight.min.js 就是我们需要引入的 js 文件,主题样式都在 style 文件夹里,我选择了一个比较喜欢的 monokai-sublime 主题,只需要一个 css 文件,然后初始化:
<link href="/js/monokai-sublime.min.css" rel="stylesheet" type="text/css">
<script src="/js/highlight.min.js"></script>
<script>
hljs.highlightAll();
</script>
就是这么简单,highlight.js 会自动将文章中的 <pre><code></code></pre> 代码进行识别语言并且高亮,一切就是这么简单。为了让代码显示更协调,我用几行 css 控制了包裹层的圆角以及背景颜色、字体大小等,大功告成。
.post-content .wp-block-code {
background-color: #F6F8FF;
border-radius: 16px;
font-size: 16px;
padding: 22px 22px 22px 38px;
margin-top: 22px;
margin-bottom: 22px;
}
.post-content .wp-block-code {
line-height: 1.2;
font-size: 15px;
padding: 10px;
overflow-x: auto;
}
.post-content .wp-block-code code {
position: relative;
background-color: unset !important;
}
当然 highlight.js 也能在 vue 项目中使用,安装:
npm install highlight.js
在 Vue 文件中使用 (通过 highlight.js for Vue ) :
<div id="app">
<!-- bind to a data property named `code` -->
<highlightjs autodetect :code="code" />
<!-- or literal code works as well -->
<highlightjs language='javascript' code="var x = 5;" />
</div>
需要注意的是,自动识别模式不能100%识别出代码所属的开发语言,识别错误会导致高亮样式是别的语言的,这种情况下可以手动设置一个 class 来精准控制:
<pre><code class="language-javascript">...</code></pre>
官网提供了详尽的使用文档,有更多代码高亮的控制,但不足的就是 highlight.js 没有显示行号的支持,需要通过再引入一个库 (highlightjs-line-numbers.js) 或者自行实现。
highlight.js 是一款基于 BSD 许可证开源的 javascript 工具库,任何个人和公司都可以免费下载用于自己的项目,包括商用项目。
关注我,持续分享高质量的免费开源、免费商用的资源。
↓↓点击查看本次分享的网址以及代码高亮效果
highlight.js - 让网页上的代码高亮美化的免费开源工具库|那些免费的砖
现在我们的表单现在我们的表单实现了跨浏览器一致的功能表现,同时也有一些基本样式。你我都知道,使用 CSS3可以让表单的样式更美观。目前我们的表单样式如下:
#redemption {width: 100%;
font-family: 'ColaborateThinRegular';
font-weight: 400;
}
#redemption hgroup {
argin-bottom: 20px;
}
#redemption div {
width: 100%;
margin-bottom: 15px;
float: left;
}
#redemption span#range {
float: left;
font-size: 3em;
width: 100%;
color: red;
clear: both; text-align: center;
}
#howYouRateThis,#yearOfCrime {
text-align: right;
}
#redemption legend {
font-style: italic;
color: #434242;
font-size: 0.8em;
margin-bottom: 20px;
float: left; width: 100%;
}
#redemption fieldset {
border: 1px dotted #cccccc;
padding: 2%;
margin-bottom: 20px;
}
#redemption label {
width: 40%;
float: left;
}
#redemption input {
height: 20px;
font-size: 1em;
width: 40%;
float: right;
}
#redemption textarea {
height: 60px;
font-size: 1em;
width: 40%;
float: right;
}
#redemption input#submit {
text-decoration: none;
height: 34px;
font: 1.25em /* 36px ÷ 16 */ 'BebasNeueRegular'; background-color: #b01c20;
border-radius: 8px;
color: white; float: right;
margin-bottom: 10px;
background: linear-gradient(top, rgb(241,92,96) 0%, rgb(17 100%);
margin-top: 10px;
box-shadow: 5px 5px 5px hsla(0, 0%, 26.6667%, 0.8);
text-shadow: 0px 1px black;
border: 1px solid #bfbfbf;
.polyfill-important .input-range,.polyfill-important .step-c float: right;
}
.polyfill-important .step-controls {
margin-right: -20px!important;
}
唯一需要注意的地方是最后两个样式只在相应的补丁脚本运行时发挥作用。首先,我想让每个 fieldset都有一个好看的渐变背景,相互之间稍微空开一点。下面是针对 fieldset修改后的 CSS 代码:
#redemption fieldset {
border: 1px dotted #cccccc;
padding: 2%;
margin-bottom: 20px;
background: #ffffff; background: linear-gradient(top, #ffffff 77%,#f2f2f2 100%);
border-radius: 4px;
box-shadow: 2px 2px 5px hsla(0, 0%, 16.6667%, 0.3);
}
除了圆角和背景渐变效果,我们唯一需要做的就是再加一点点阴影(box-shadow)效果。 此处省略了各种 CSS3声明的浏览器私有前缀。
在整个示例代码中,你可以看到我混用了各种颜色值。有时是 red 这样的颜色名称,有时是十六进制、RBG 或 HSL。在支持这些颜色模式的浏览器中这样做没什么问题。但在实际生产环境中,为保持一致性和兼容性,你应该只选用一两种颜色模式。
CSS3不仅能轻松地追加样式,而且也能有效阻止在不需要的元素上追加样式。
*请认真填写需求信息,我们会在24小时内与您取得联系。