为什么要将html页面和样式表分离,0031 如何使用css文件对网页内容和样式进行分离...

原标题:0031 如何使用css文件对网页内容和样式进行分离

上节课,学习了针对文字可以设置很多种样式。

这节课,学习如何将内容和样式进行分离。

上节课的课后练习

1.将斜体字体效果去除

2.将工作经历和工作经验(部分)这2行文字也做成简介这行文字的效果

完成代码如下:

3bd532c10212468083fe5808b5c9b608.png

页面效果如下:

d88202c77af4dbffafce9efd2a3bd525.png

可以看到3个标题都是一样的效果了。

但是,在编写代码的时候,发现一个问题,就是3个div的代码是一模一样的,复制起来很长,而且假如要将三个标题的字体全部都改小一点的话,要修改3处地方,有没有一个简便的方法,只改一次就好了呢?

新建css文件并使用

之前在div中利用属性style来设置css属性的方法是一种比较直接的方法,适合编写某个特殊的样式。

如果有大量相同的重复的style的时候,一般不采用style属性,而是采用class属性来实现。

也就是将相关的css属性和值存放到一个单独的以.css做为后缀名的文件中,然后html文件引用这个css文件,然后使用class属性来使用。

首先,在代码编辑器中新建一个文件,编写代码如下,就是将div里面style的值复制过来,并增加换行,保存为index.css,注意保存到目录要和index.html位于同一个目录下:

d5139f9bbbedd67ab7d39a45ab3c0884.png

然后,在index.html当中在meta这一行下面新增一行,引入index.css

然后,将div里面的style="......"这一大段删除,修改为class="bigtitle":

403c19bb57519e01b8cd9820ec2d745d.png

刷新页面,可以看到页面效果是一样的:

5d74a64ade92a8dcdb6d7163bc69e008.png

接下来,要将标题的文字从30px修改为20px,修改index.css文件中的font-size的值为20px,然后注意保存文件:

1e974017410067a744d6d2a48ff6bb3d.png

刷新页面可以看到页面的3个标题的字体同时变小了,只修改了一处地方就实现了目的:

61c0df025bf3f33de153b84a38ec644a.png

这里要注意一点,在css文件中,设置一个样式,需要样式起一个名字,例如这里的bigtitle,然后名称前面有一个点。

点的意思表示这个样式需要用css="样式名"来使用。

对特定标签使用css文件定义

现在index.html里面还有一个地方使用了style,把它也挪到index.css文件中,插入如下代码:

d825a4b74e6eb4f62823e7782256b800.png

index.html删除掉body开始标签的后面的style的部分:

3c5f913371ee2e11fdf43ce3dfb0008e.png

刷新页面发现没有变化:

8d87172a43e875c71262afa4492f73c8.png

修改index.css文件中body里面的background-color的值如下:

6cf66aec8205d06642a7b9f1c43cd339.png

刷新页面发现背景颜色变得更淡了:

5f484fed374de61d0b7eb869aebea111.png

这里,发现对css文件中样式的定义有一点不一样,而且html文件中没有使用class="样式名",为何样式仍然起作用了呢?

关键点在于css文件中样式的名字为body,并且前面没有点。

这样的设置方式就是告诉浏览器,这个样式只对body标签起作用,对其他标签不起作用,因此也不需要在body标签里面使用class了。

关键点在于css里面样式名和html元素标签名一致来完成。

假如把css文件里面的第一行的body修改为div,那么里面的背景颜色值就对所有的div起作用了。

假如把css文件里面的第一行的body修改为dddd一个无效的名字,那么里面的背景颜色值就找不到对应的标签从而没有作用,这样的话body标签也就没有设置背景色了。

这种设置方式在某些情况下是有好处的,可以灵活设置大量相同设置而无需设置class属性,特别是在不同的html页面都需要一样的设置的时候,只要html都是引用同样一个css文件,那么不同的html同样的标签都会自动匹配一样的样式了。

设置通用样式和特殊样式

如果要求所有页面中所有的文字都是12px,但是标题内容行都是20px,该如何做呢?

先在css文件中的body里面增加文字大小的定义:

c0b06faa83b85a2989de0822f962580b.png

index.html不做修改,刷新页面后可以看到,3段内容没有任何样式定义,但是所有的字体都变小了,同时标题内容行的字体大小仍然是20px,这是因为修改了body标签的样式,那么对于body里面包含的子元素标签,该样式都会起作用,除非子元素自己重新定义了这个样式:

47cd92cb6b3ca0dd43ec9d6a64bf6465.png

然后,需要将简介的具体内容部分的字体大小调整为16px,而工作经历和工作经验的字体仍然保持12px不变,应该这样修改:

在index.css 里面增加一个样式,名字为smallcontent,里面只有font-size,如下:

f63d8b2c243db0476f74d9d822f9bc40.png

然后修改index.html里面在简介的具体内容前面加上

,最后一行删掉

,然后加上

,如下:

f7d91491ebbad731db69f99a8e2cbf91.png

刷新页面可以看到因为简介这块做了特殊样式定义,因此字体大小就变大了,其他2部分没有设置,则字体不变:

8a18252472fba5eb2a906ab1eb52ded2.png

内容和样式分离的好处

通过上面将样式都放在css文件的方法,可以将页面内容和显示效果进行分离。

分离的好处有很多:

1.修改一处地方,同时可以影响多个地方,修改更方便。

2.css文件中可以针对标签设置,也可以特殊定义样式名然后引用,可以更灵活,也可以减少样式重复定义。

3.可以将内容的编写任务交给程序员,将样式的编写交给设计人员或者美工,从而互不干扰,提高开发效率。

课后练习

使用css样式将工作经历和工作经验部分的文字大小修改为14px,文字颜色修改为#222222。

往期教程

因为教程是系列教程,前后关联性非常强,请大家按照历史消息发布时间先后次序进行阅读。返回搜狐,查看更多

责任编辑:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/539328.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js 判断日期时间差

2019独角兽企业重金招聘Python工程师标准>>> alert(GetDateDiff("2018-02-27 19:20:22","2018-02-27 09:20:22","hour"));function GetDateDiff(startTime, endTime, diffType) {//将xxxx-xx-xx的时间格式,转换为 xxxx/xx…

python 图形_Python图形数据

CSGraph代表 压缩稀疏图 ,它着重于基于稀疏矩阵表示的快速图算法。 图表表示 首先,让我们了解一个稀疏图是什么以及它在图表示中的作用。 什么是稀疏图? 图形只是节点的集合,它们之间有链接。图表几乎可以代表任何事物 - 社交网络…

dubbo 支持服务降级吗_dubbo面试题!会这些,说明你真正看懂了dubbo源码

整理了一些dubbo可能会被面试的面试题,感觉非常不错。如果你基本能回答说明你看懂了dubbo源码,对dubbo了解的足够全面。你可以尝试看能不能回答下。我们一起看下有哪些问题吧?dubbo中"读接口"和"写接口"有什么区别?谈谈…

不满足于汽车制造,丰田展示仿钢铁侠机器支撑腿架

而汽车制造商开发机器人也不是丰田一家的专利,此前现代也推出过类似的支撑机器人腿架 大多数人对于丰田的印象都停留在汽车制造上,不过他们却不仅仅满足于汽车事业的发展,最近,丰田正在研发一款机器人支撑腿架,来帮助…

js html异步加载的属性,异步加载JS的五种方式

方案一:点评:HTML5中新增的属性,Chrome、FF、IE9&IE9均支持(IE6~8不支持)。此外,这种方法不能保证脚本按顺序执行。方案二:点评:兼容所有浏览器。此外,这种方法可以确保所有设置defer属性的…

cesium 经纬度绘制点_NCL绘制2016年1号台风(Nepartak)

begin ncol 6 ;台风参数 nrow 31 ;时次总数 nbin 6 ;已知该该气旋共经历了6个等级的演变 ;读入台风资料 data asciiread("NEPARTAK.txt",(/nrow,ncol/),"integer") ;/31,6/ 31行6列,integer整数类型 ;;数据读取函数总结&…

VR究竟多奇幻?eSmart邀你共赴一场VR奇幻之旅!

今年夏天,快来参加首届eSmart展会,来一场VR游戏的奇妙之旅,见识最好玩、最有趣的VR游戏! 正如十几年前互联网的兴起开创了全新时代一样,VR产业在近两年也势不可挡。随着一重行业巨头的进入,2016年&#xf…

HTML5新的解析顺序,HTML5新表单新功能解析

HTML5新增了很多属性功能。但是有兼容性问题,因为这些表单功能新增的。我这里做了一个简单的练习,方便参考。如果完全兼容的话,那我们写表单的时候就省了很多代码以及各种判断。HTML5表单新功能解析#da{width:350px;height:600px;margin:0 au…

python子类继承父类属性实例_Python实现子类调用父类的初始化实例

前言 python中进行面向对象编程,当在子类的实例中调用父类的属性时,由于子类的__init__方法重写了父类的__init__方法,如果在子类中这些属性未经过初始化,使用时就会出错。 例如以下的代码: class A(object): def __init__(self):…

opencv画框返回坐标 python_[python]依靠pynput和pyautogui替换ahk

autohotkey当然是不错的工具,但是这个东西的社群一直发展的不行。从开始学习python以后,我就不时会希望能找到别的工具替代ahk。Python的众多包里面确实是有对应的工具的:模拟鼠标和键盘的操作可以用pyautogui,而捕捉热键则可以使…

Hadoop SequenceFile

apache原文:http://hadoop.apache.org/docs/r1.0.4/api/org/apache/hadoop/io/SequenceFile.html 概念: SequenceFile是一个由二进制序列化过的key/value的字节流组成的文本存储文件,它可以在map/reduce过程中的input/output 的format时被使…

机器学习算法平台alink_Alink漫谈(十二) :在线学习算法FTRL 之 整体设计

Alink漫谈(十二) :在线学习算法FTRL 之 整体设计[Toc]0x00 摘要Alink 是阿里巴巴基于实时计算引擎 Flink 研发的新一代机器学习算法平台,是业界首个同时支持批式算法、流式算法的机器学习平台。本文和下文将介绍在线学习算法FTRL在Alink中是如何实现的&a…

探测器反向偏压_近红外和可见光双模有机光电探测器

更多精彩,点击上方蓝字关注我们!中英标题近红外和可见光双模有机光电探测器Near-infrared and Visible Light Dual-mode Organic Photodetectors图文导读研究报告了一种具有三层可见光吸收体/光学间隔层/近红外(NIR)光吸收体结构的双模有机光电探测器(OP…

html里post请求404,请求登陆页面post请求404错误,OPTIONS请求通过

点击登录的时候option请求是通过的,但post请求失败。服务端代码app.js:const express require(‘express’)const bodyParser require(‘body-parser’)const cors require(‘cors’)const router require(’./router/index’)// 创建 express 应用c…

python贪吃蛇毕业设计_【干货|python项目实例——贪吃蛇】- 环球网校

【摘要】当今世界充满了各种数据,而python是其中一种的重要组成部分。然而,若想其有所应用,我们需要对这些python理论进行实践。其中包含很多有趣的的过程,然后将其用于某些方面。其中一种应用就是python项目实例。今天环球网校的…

PWA即将推向所有Chrome平台

\看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料!\\\大多数人应该都听说了微软已经着手在Windows商店中增加PWA,这是一个重磅消息!\\\\渐进增强式Web应用…

c++代码转为go_Go语言学习笔记六--string编码

分解探索string编码转为byte数组func main() {s : "Hi小智加油!"fmt.Println("len(s):",len(s)) //len(s): 15 为什么是15呢?for _, v : range []byte(s) {fmt.Printf("%X ",v) //%X 转为16进制//48 69 E5 B0 8F E6 99 BA E5 8A A0 E6 B2 B9 21…

steam游戏时长计算机,我加入steam五年了,盘点下我买过的22款正版单机游戏

我加入steam五年了,盘点下我买过的22款正版单机游戏2020-02-17 10:50:07104点赞72收藏37评论大家好吖,在2015年的时候朋友就推荐了我入坑steam,不过那个时候更多的知道这是个dota启动器,慢慢的steam也越来越出名啦,中国…

AdPlayBanner:功能丰富、一键式使用的图片轮播插件

概述 AdPlayBanner:功能丰富、一键式使用的图片轮播插件详细 代码下载:http://www.demodashi.com/demo/11312.html AdPlayBanner是一个Android平台基于ViewPager实现的轮播图插件,主要用以自动或者手动地播放轮播图,提供了Fresco、…

pycharm运行模型时怎么设置权重?_使用AMP和Tensor Cores得到更快速,更节省内存的PyTorch模型...

点击上方“AI派”,关注公众号,选择加“星标“或“置顶”导读只需要添加几行代码,就可以得到更快速,更省显存的PyTorch模型。你知道吗,在1986年Geoffrey Hinton就在Nature论文中给出了反向传播算法?此外&…