百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

利用CSS3制作信纸背景,巧妙使用新增的背景属性,样式变得更有趣

toyiye 2024-08-21 01:59 4 浏览 0 评论

本篇文章结合上一篇所讲到的CSS3技术中有关背景的属性,制作一个实例。小海前端(头条号)带领大家一同实现一个漂亮的信纸背景效果。

承接文章:更加强大的背景图像,CSS3增强的背景效果,前端对背景的优化

技术等级:中级 | 适合有一定的CSS基础的人士阅读。

希望收藏了这篇文章的你同时也可以关注一下“小海前端”的头条号,因为这些文章都是连载的,并且是经过系统的归纳和总结的。塌下心来认真阅读,你一定会学到对你有用的知识。

一、信纸背景实例效果:

本篇文章所实现的信纸背景效果如下图所示。

信纸背景实例的最终效果图

首先要明确一点:上图中看到的除了文字以外的背景部分,并不是一张完整的背景图片,而是由多个具有透明背景的png图片利用CSS3的多重背景拼接出来的。

本实例所使用到的素材图片如下图所示。

用到的素材图片

从上图中可以看出,我们一共使用了六张素材图片。前五张图片都是png格式,背景为透明。最后一张图片是一个纹理jpg图片,可以随意设置透明效果的纹理。

  • left-bottom.png,实现左下角的花边效果。

  • left-top.png,实现左上角的花边效果。

  • right-bottom.png,实现右下角的花边效果。

  • right-top.png实现右上角的花边效果。

  • line.png,实现信纸的水平线格子效果

  • wenli.jpg,实现信纸的背景纹理效果。

跟着小海前端(头条号)学的小伙伴们,可以自行在网上搜索图片,利用Photoshop制作成素材的样子,大家可以发挥自己的设计头脑,制作出各种不同的信纸效果。

二、页面布局:

这个实例的页面布局非常简单,制作一个<div></div>标记对作为容器,并将该容器的id属性的取值设置为mail。然后在容器内部放置<h1></h1>标记对作为标题,信件的正文使用<p></p>标记对进行包裹即可。

HTML代码结构如下所示。

<div id="mail">

<h1>古埃及的金字塔</h1>

<p>信件的正文</p>

</div>

三、利用CSS设置#mail的常规属性:

为了便于查看,可以设置#mail的CSS样式。设置该容器的宽度为400像素,高度为600像素。并设置容器在页面内居中显示。将容器的填充宽度设置为50像素,并在容器外部添加一个10像素的深红色边框线。

最后调整内部文字的CSS样式。包括文字的字号设置为14像素,首行缩进为28像素,行高为27像素。当然也可以根据水平线格子的间隔高度自行调整上述参数。

CSS代码如下所示。

#mail{

width:400px; height:600px;

margin:0 auto;

padding:50px;

border:solid 10px rgba(132,26,26,0.8);

font-size: 14px;

line-height: 27px;

text-indent: 28px;

}

四、加载背景图片:

接下来我们要为#mail加载背景图片,这需要将素材图片中准备的所有png图片和wenli.jpg图片全部加载到该容器中作为背景。

CSS3中的background-image已经支持多背景图片的功能,只需要将多个图片的url()路径之间利用逗号隔开即可。一定要注意:必须是逗号进行间隔。

CSS代码如下所示。

background-image: url(../images/line.png),

url(../images/left-top.png),

url(../images/left-bottom.png),

url(../images/right-top.png),

url(../images/right-bottom.png),

url(../images/wenli.jpg);

五、设置多背景图片的背景属性:

下一步需要设置多背景图片的其他背景属性。这需要根据background-image属性加载背景图片的顺序来完成其他背景属性的设置。

这里需要注意,上一步的代码中显示,第一个加载的是水平线格子图片line.png,接下来一次加载的是左上角花边、左下角花边、右上角花边、右下角花边,最后是纹理图片wenli.jpg。

1、设置背景图片的平铺方式:

我们知道:第一个加载的水平线格子图片应该平铺;四个方向角的花边图片不应该平铺;纹理图片应该平铺。

因此根据背景图片的加载顺序可以书写成如下格式:

background-repeat: repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat;

大家仔细观察,所有的平铺取值都是使用逗号隔开的,而且共有6个平铺取值,正好对应background-image属性中加载的六张图片的顺序。

2、设置背景图片的定位:

这里使用background-position属性来设置背景图片的定位。

  • 第一个加载的水平线格子图片因为平铺,所以位置可以从容器的左上角就开始显示。因此取值为left top。

  • 左上角花边应该显示在左上角,即left top。

  • 左下角花边应该显示在左下角,即left bottom。

  • 右上角花边应该显示在右上角,即right top。

  • 右下角花边应该显示在右下角,即right bottom。

  • 最后一个加载的纹理图片因为也平铺,所以也从左上角开始显示。

CSS代码如下所示:

background-position: left top,left top,left bottom,right top,right bottom,left top;

3、设置图片的大小:

这里可以根据背景图片本身的大小进行适当的缩放。

CSS代码如下所示:

background-size: 50px,20%,20%,20%,20%,50px;

属性background-size原本需要指定两个数值来表示宽度和高度的大小变化。若只指定了一个数值,则宽度和高度均采用该数值来对图片进行缩放。

4、设置图片显示的原点坐标:

这里只有水平线格子图片和纹理图片的显示需要调整原点坐标。

  • 水平线格子只出现在由文本内容的部分,因此设置为content-box,从文本区域开始显示。

  • 纹理图片可以设置为padding-box,即从填充区域开始显示。

  • 其他图片都设置为border-box,即从边框开始显示。

CSS代码如下所示。

background-origin: content-box,border-box,border-box,border-box,border-box,padding-box;

5、设置图片的显示区域:

每张图片的显示区域都从所设置的原点坐标就开始显示,因此取值与原点坐标的取值是相同的。

CSS代码如下所示。

background-clip: content-box,border-box,border-box,border-box,border-box,padding-box;

六、整个实例的完整CSS代码:

本篇文章带领大家所制作的信纸背景效果的完整CSS代码如下图所示。

完整的CSS代码

小海声明

在头条上发表的这些文章都是从前端开发的基础开始一步一步讲起的。我非常希望能有更多的前端开发初学者通过我写的文章,逐步学到一定的知识,甚至慢慢有了入门的感觉。这些文章都是我这几年教学过程中的经验,每写一篇时我都尽量把握好措辞,用简单易懂的语言描述,同时精心设计版面,让版面更加丰富,激发阅读兴趣。所以,每一篇文章可能篇幅不长,但是都要耗费小海老师很久的时间。

希望收藏了这篇文章的你同时也可以关注一下“小海前端”的头条号,因为这些文章都是连载的,并且是经过系统的归纳和总结的。塌下心来认真阅读,你一定会学到对你有用的知识。

关注“小海前端”,我会继续为大家奉上更加深入的前端开发文章,也希望更多的初学者跟着学下去,我们共同将前端开发的路努力坚持的走下去。

文章预告

下一篇文章中,小海前端(头条号)会为小伙伴们继续介绍CSS3新增的属性值。下一篇文章介绍CSS3的边框属性功能。

相关推荐

# Python 3 # Python 3字典Dictionary(1)

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如...

Python第八课:数据类型中的字典及其函数与方法

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值...

Python中字典详解(python 中字典)

字典是Python中使用键进行索引的重要数据结构。它们是无序的项序列(键值对),这意味着顺序不被保留。键是不可变的。与列表一样,字典的值可以保存异构数据,即整数、浮点、字符串、NaN、布尔值、列表、数...

Python3.9又更新了:dict内置新功能,正式版十月见面

机器之心报道参与:一鸣、JaminPython3.8的热乎劲还没过去,Python就又双叒叕要更新了。近日,3.9版本的第四个alpha版已经开源。从文档中,我们可以看到官方透露的对dic...

Python3 基本数据类型详解(python三种基本数据类型)

文章来源:加米谷大数据Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在Python中,变量就是变量,它没有类型,我们所说的"类型"是变...

一文掌握Python的字典(python字典用法大全)

字典是Python中最强大、最灵活的内置数据结构之一。它们允许存储键值对,从而实现高效的数据检索、操作和组织。本文深入探讨了字典,涵盖了它们的创建、操作和高级用法,以帮助中级Python开发...

超级完整|Python字典详解(python字典的方法或操作)

一、字典概述01字典的格式Python字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。字典的每个键值key=>value对用冒号:分割,每个对之间用逗号,...

Python3.9版本新特性:字典合并操作的详细解读

处于测试阶段的Python3.9版本中有一个新特性:我们在使用Python字典时,将能够编写出更可读、更紧凑的代码啦!Python版本你现在使用哪种版本的Python?3.7分?3.5分?还是2.7...

python 自学,字典3(一些例子)(python字典有哪些基本操作)

例子11;如何批量复制字典里的内容2;如何批量修改字典的内容3;如何批量修改字典里某些指定的内容...

Python3.9中的字典合并和更新,几乎影响了所有Python程序员

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

Python3大字典:《Python3自学速查手册.pdf》限时下载中

最近有人会想了,2022了,想学Python晚不晚,学习python有前途吗?IT行业行业薪资高,发展前景好,是很多求职群里严重的香饽饽,而要进入这个高薪行业,也不是那么轻而易举的,拿信工专业的大学生...

python学习——字典(python字典基本操作)

字典Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度。但它是无序的,包含的元素个数不限,值...

324页清华教授撰写【Python 3 菜鸟查询手册】火了,小白入门字典

如何入门学习python...

Python3.9中的字典合并和更新,了解一下

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

python3基础之字典(python中字典的基本操作)

字典和列表一样,也是python内置的一种数据结构。字典的结构如下图:列表用中括号[]把元素包起来,而字典是用大括号{}把元素包起来,只不过字典的每一个元素都包含键和值两部分。键和值是一一对应的...

取消回复欢迎 发表评论:

请填写验证码