CSS3新特性应用(1??)字体排印

一、插入换行

  • ~:表示同辈元素之后指定类型的元素,如;elm1 ~ elm2表示,elm1之后的所有elm2元素,且elm1与elm2都是在同一个父级元素。
  • +:表示同辈元素的兄弟元素。
  • \A:一个空白换行符
  • 解决方案:
    • 在dd与dt相邻的dt上的子元素前面加入一个空白换行符
    • 在相邻的dd与dd之间,加入一个逗号
  • 示例代码:

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        dt, dd{
            display: inline;
        }
        dd{
            font-weight: bold;
            margin: 0px 0px 0px 5px;
        }
        dd + dt::before{
            content: ‘\A‘;
            white-space: pre; /*html默认换行符与其相邻的其他空白符合并,pre表示不合并空白符*/
        }
        dd + dd::before{
            content: ‘,‘;
            margin-left: -5px;
        }
    </style>
</head>
<body>
    <dt>Name</dt><dd>Sam Long</dd>
    <dt>Email</dt><dd>[email protected]</dd><dd>[email protected]</dd>
    <dt>Location</dt><dd>CQ</dd>
</body>

二、文本行的斑马条纹

  • 背景尺寸是行高的2倍
  • 注意em单位
  • white-space:设置或检索对象内空格的处理方式
    • normal:默认处理方式
    • pre:用等宽字体显示预格式化的文本,空白字符会被浏览器保留
    • nowrap:文本不会换行,直到遇到<br>标签为止
    • pre-wrap:用等宽字体显示预格式化的文本,空白字符会被浏览器保留,文本会换行
    • pre-line:保持换行符,合并空白符
  • 示例代码:

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .wrap{
            padding: .5em;
            line-height: 1.5;
            background: hsl(20, 50%, 95%);
            background-image: linear-gradient(
                            rgba(120,0,0,.1) 50%, transparent 0);
            background-size: auto 3em;
            background-origin: content-box;
            font-family: Consolas, Monaco, monospace;
        }
        .wrap code{
            font: inherit;
        }
    </style>
</head>
<body>
<pre class="wrap"> <code> while(true){
    i++;
    if(i>10){
        break;
    }else{
        console.log(i);
    }
}</code></pre>
</body>

三、调整tab的宽度

  • 注意Ide是否应用的tab替换为space的功能,必须要关闭。
  • 利用tab-size指定tab的大小
  • 示例代码

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        pre, code{
            font-family: monospace;
        }
        pre{
            white-space: pre;
            background: red;
            tab-size: 2;
            display: block;
        }
    </style>
</head>
<body>
<pre><code>
while(true){
    var d = new Date();
}
</code></pre>
</body>

四、自定义下划线

  • linear-gradient的角度,默认是180deg
  • text-shadow实现阴影效果,做出左右阴影偏移
  • 存在兼容性问题,chrome50版本没有下划线显示
  • 示例代码:

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        body {
            font: 250%/1.6 Baskerville, Palatino, serif;
        }

        a {
            background: -webkit-linear-gradient(gray, gray) no-repeat;
            background-size: 100% 1px;
            background-position: 0 1.02em;
            text-shadow: .05em 0 white, -.05em 0 white; /*水平左、右偏移一个背景色的阴影,用于降级字母的下半处理*/
        }

        p:nth-child(2) a {
            background: -webkit-linear-gradient(180deg, gray 66%, transparent 0) repeat-x; /*0,180deg都是可以的*/
            background-size: .2em 2px;
            background-position: 0 1em;
        }
    </style>
</head>
<body>
    <p>The only way to <a>get rid of a temptation</a> is to <a>yield</a> to it.</p>
    <p>The only way to <a>get rid of a temptation</a> is to <a>yield</a> to it.</p>
</body>

五、现实中的文字效果

  • text-shadow实现的效果不能退化,如果浏览器不支持则看不见,可以用filter实现,但支持得更好(但可以退化样式)
  • text-shadow设置多个值,并按递增规则偏移,可以制作出立体效果
  • 凸版文字
    • 字体太小text-shadow属性产生的效果不可接受
    • 示例代码:

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        body{
            font: 110%/1.6 Baskerville, Palatino, serif; /*字体过小表现不出样式*/
        }
        .wrap{
            width: 200px;
            background: hsl(210, 13%, 60%);
            color: hsl(210, 13%, 30%);
            padding: .1em;
            text-shadow: 0 1px 1px hsla(0, 0%, 100%, .8);
        }
        .wrap02{
            margin-top: 10px;
            width: 200px;
            background: hsl(210, 13%, 60%);
            color: hsl(210, 13%, 30%);
            padding: .1em;
            text-shadow: 0 -1px 1px hsla(0, 0%, 100%, .8);
        }
    </style>
</head>
<body>
    <div class="wrap">
        <span>根据协议,四省(市)将深化教育综合改革合作交流.</span>
    </div>
    <div class="wrap02">
        <span>根据协议,四省(市)将深化教育综合改革合作交流.</span>
    </div>
</body>

  • 其他效果示例代码:

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .wrap{
            text-align: center;
            font-size: 38px;
            width: 200px;
            background: deeppink;
            color: white;
            text-shadow: 1px 1px black, -1px 1px black, -1px -1px black, 1px -1px black;
        }
        .wrap02{
            margin-top: 10px;
            font-size: 38px;
            width: 200px;
            text-align: center;
            background: #203;
            color: #ffc;
            transition: 1s;
        }
        .wrap02:hover{
            text-shadow: 0 0 .1em, 0 0 .3em;
            color:transparent;
        }
        .wrap03{
            margin-top: 10px;
            width: 200px;
            font-size: 38px;
            text-align: center;
            color: white;
            background: hsl(0,50%,45%);
            text-shadow: 0 1px hsl(0, 0%, 85%),
                         0 2px hsl(0, 0%, 65%),
                         0 3px hsl(0, 0%, 45%),
                         0 4px hsl(0, 0%, 25%),
                         0 5px hsl(0, 0%, 5%),
                         0 5px 10px black;
        }
        .wrap04{
            margin-top: 10px;
            width: 200px;
            font-size: 38px;
            text-align: center;
            color: white;
            background: hsl(0,50%,45%);
            text-shadow: 1px 1px black, 2px 2px black,
                         3px 3px black, 4px 4px black,
                         5px 5px black, 6px 6px black,
                         7px 7px black, 8px 8px black;
        }
    </style>
</head>
<body>
    <div class="wrap">
        <span>CSS</span>
    </div>
    <div class="wrap02">
        <span>CSS</span>
    </div>
    <div class="wrap03">
        <span>CSS</span>
    </div>
    <div class="wrap04">
        <span>CSS</span>
    </div>
</body>

六、自定义复选框

  • 系统自带复选框美化
    • 利用css3提供的:checked伪类选择器实现
    • 宽、高、对齐等设置单位最好用em,让按钮变得更为灵活
    • 示例代码:

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        input[type="checkbox"]{
            display: none;
        }
        input[type="checkbox"] + label::before{
            content: ‘\a0‘; /*不换行空格*/
            display: inline-block;
            background: silver;
            border-radius: .2em;
            margin-right: .2em;
            width: .8em;
            height: .8em;
            line-height: .65em;
            text-indent: .15em;
        }
        input[type="checkbox"]:checked + label::before{
            content: ‘\2713‘;
            background: yellowgreen;
        }
    </style>
</head>
<body>
    <input type="checkbox" id="anesome"/>
    <label for="anesome">anesome</label>
</body>

  • 开关按钮的实现
    • 伪类选择器 + 修饰label元素实现
    • 示例代码:

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        input[type="checkbox"]{
            display: none;
        }
        input[type="checkbox"] + label{
            display: inline-block;
            padding: .3em .5em;
            background: #ccc;
            border: 1px solid rgba(0, 0, 0, .2);
            background-image: linear-gradient(#ddd,#bbb);
            text-align: center;
            border-radius: .3em;
            box-shadow: 0 1px white inset;
            text-shadow: 0 1px 1px white;
        }
        input[type="checkbox"]:checked + label{
            box-shadow: .05em .1em .2em rgba(0, 0, 0, .6) inset;
            border-color: rgba(0, 0, 0, .3);
            background: #bbb;
        }
    </style>
</head>
<body>
    <input type="checkbox" id="anesome"/>
    <label for="anesome">anesome</label>
</body>

时间: 2024-08-24 15:05:37

CSS3新特性应用(1??)字体排印的相关文章

CSS3新特性简介

1.CSS3 边框:通过 CSS3,能够创建圆角边框,向矩形添加阴影,使用图片来绘制边框,如border-radius:box-shadow:border-image 2.CSS3 背景:CSS3 包含多个新的背景属性,它们提供了对背景更强大的控制.background-size:background-origin 3.CSS3 文本效果:CSS3 包含多个新的文本特性.text-shadow:word-wrap 4.CSS3 @font-face规则:可将设计师希望使用的字体文件存放到web服

[转]深入了解 CSS3 新特性

简介 CSS 即层叠样式表(Cascading Stylesheet).Web 开发中采用 CSS 技术,可以有效地控制页面的布局.字体.颜色.背景和其它效果.只需要一些简单的修改,就可以改变网页的外观和格式.CSS3 是 CSS 的升级版本,这套新标准提供了更加丰富且实用的规范,如:盒子模型.列表模块.超链接方式.语言模块.背景和边框.文字特效.多栏布局等等,目前有很多浏览器已经相继支持这项升级的规范,如:Firefox.Chrome.Safari.Opera 等等.在 Web 开发中采用 C

深入了解 CSS3 新特性

简介 CSS 即层叠样式表(Cascading Stylesheet).Web 开发中采用 CSS 技术,可以有效地控制页面的布局.字体.颜色.背景和其它效果.只需要一些简单的修改,就可以改变网页的外观和格式.CSS3 是 CSS 的升级版本,这套新标准提供了更加丰富且实用的规范,如:盒子模型.列表模块.超链接方式.语言模块.背景和边框.文字特效.多栏布局等等,目前有很多浏 览器已经相继支持这项升级的规范,如:Firefox.Chrome.Safari.Opera 等等.在 Web 开发中采用

Atitti css3 新特性attilax总结

图片发光效果2 透明渐变效果2 文字描边2 背景拉伸2 CSS3 选择器(Selector)4 @Font-face 特性7 Word-wrap & Text-overflow 样式9 Word-wrap9 Text-overflow10 文字渲染(Text-decoration) 描边12 CSS3 的多列布局(multi-column layout)13 边框和颜色(color, border)14 CSS3 的渐变效果(Gradient)15 线性渐变15 径向渐变16 CSS3 的阴影(

CSS3新特性+less实验——animation

自从CSS3推出animation以来,一大批H5应用纷纷利用animation来制作以往需要JS或FLASH才能制作出的特效.今天就来看看animation的庐山真面目吧. 实验对象:animation animation可以被用来定义一组动画效果,此效果可以被应用在任何元素之上,并且可以通过它提供的各项参数精确控制动画的细节. 语法 animation:[[ animation-name ] || [ animation-duration ] || [ animation-timing-fu

个人总结(css3新特性)

1.前言css3这个相信大家不陌生了,是个非常有趣,神奇的东西!有了css3,js都可以少写很多!我之前也写过关于css3的文章,也封装过css3的一些小动画.个人觉得css3不难,但是很难用得好,用得顺手,最近我也在过一遍css3的一些新特性(不是全部,是我在工作上常用的,或者觉得有用的),以及一些实例,就写了这一篇总结!希望,这篇文章能帮到大家认识css3.写这篇文章主要是让大家能了解css3的一些新特性,以及基础的用法,感觉css3的魅力!如果想要用好css3,这个得靠大家继续努力学习,寻

HTML5和CSS3新特性一览

HTML5 1.HTML5 新元素 HTML5提供了新的元素来创建更好的页面结构: 标签 描述 <article> 定义页面独立的内容区域. <aside> 定义页面的侧边栏内容. <bdi> 允许您设置一段文本,使其脱离其父元素的文本方向设置. <command> 定义命令按钮,比如单选按钮.复选框或按钮 <details> 用于描述文档或文档某个部分的细节 <dialog> 定义对话框,比如提示框 <summary>

常用的HTML5、CSS3新特性能力检测写法

伴随着今年10月底HTML5标准版的发布,未来使用H5的场景会越来越多,这是令web开发者欢欣鼓舞的事情.然而有一个现实我们不得不看清,那就是IE系列浏览器还占有一大部分市场份额,以IE8.9为主,windows8.1的用户已经用上了IE10/11,而考虑我国的国情,IE6.7依然存留不少.在我们放手用HTML5开发的时候,新特性支持度检测就是必不可少的了.一种方式是用navigator.userAgent或navigator.appName来检测浏览器类型和版本,不过这种方式不是很可靠,浏览器

Css3新特性总结之边框与背景(一)

本系列主要总结Css3一些新特性的认识,来源于<css揭秘>书. 一.半透明边框 css3最好用hsla,而不是rgba,hsla是:h:颜色值(0~360):s:饱合度(0%~100%):l:亮度(0%~100%):a:透明度(0~1) background-clip:裁剪背景颜色,默认为border-box(背景颜色扩散到border):padding-box(背景颜色扩散到padding):content-box(背景颜色扩展到content) 示例代码: width:200px; he

使用Modernizr探测HTML5/CSS3新特性

HTML5, CSS3以及相关技术(例如canvas和web sockets)带来了非常有用的特性,可以让我们的web程序提升一个新的level.这些新技术允许我们只用HTML,CSS和JavaScript 就可以构建包括在平板和移动设备上能够运行的多样化表单页面.HTML5虽然提供了很多新特性,但是如果我们不考虑旧版本的浏览器就是用这些新技术也不太 现实,老版本浏览器已经使用了很多年,我们依然需要考虑这些版本的兼容性问题.本文要解决的问题就是:在我们使用HTML5/CSS3技术的时候,如何更