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

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

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

上节课的课后练习

1.将斜体字体效果去除

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

完成代码如下:

页面效果如下:

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

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

新建css文件并使用

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

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

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

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

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

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

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

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

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

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

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

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

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

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

刷新页面发现没有变化:

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

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

这里,发现对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里面增加文字大小的定义:

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

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

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

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

,最后一行删掉

,然后加上

,如下:

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

内容和样式分离的好处

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

分离的好处有很多:

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

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

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

课后练习

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

往期教程

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

责任编辑:

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

  1. 可构造样式表 - 通过javascript来生成css的新方式

    可构造样式表是一种使用Shadow DOM进行创建和分发可重用样式的新方法. 使用Javascript来创建样式表是可能的.然而,这个过程在历史上一直是使用document.createElement ...

  2. css网站样式表是什么,什么是css样式表

    css样式表指的是层叠样式表(Cascading Style Sheets),简称CSS,是一种用来表现HTML或XML等文件样式的计算机语言,是用来表示html样式的一种编程语言,是可以做到网页和内 ...

  3. 配置 postCSS 自动添加 css 的兼容前缀||打包样式表中的图片和字体文件||打包处理 js 文件中的高级语法

    配置 postCSS 自动添加 css 的兼容前缀 ① 运行 npm i postcss-loader autoprefixer -D 命令 ② 在项目根目录中创建 postcss 的配置文件 pos ...

  4. html中样式表的三种形式,CSS样式表有几种存在方式

    外部样式:将网页链接到外部样式表. 内页样式:在网页上创建嵌入的样式表. 行内标签样式:应用内嵌样式到各个网页元素标签内. 每一种方法均有其优缺点: 当要在站点上所有或部份的网页上一致地应用相同样式时 ...

  5. html中引入css样式表的三种方式,css引用的几种方式是什么?

    HTML怎么引用CSS样式?css引用的几种方式是什么?下面本篇文章就来给大家介绍一下在HTML中引用CSS样式的几种方法,希望对大家有所帮助. 1.行内式 在HTML标签中,使用style属性设置C ...

  6. 外联样式表添加到html中,CSS联样式表之内联式、外联式和嵌入式

    CSS 全称级联样式表 (Cascading Style Sheets),在实际应用中,一般有以下三种级联方式. 1. 外联式 外联式样式表中,CSS 代码作为文件单独存放,如以 style.css ...

  7. html样式表三种类型包括,css样式有哪几种类型

    CSS样式有三种类型:1.行内样式(内嵌样式),使用style属性直接把CSS代码添加到HTML的标记中:2.内部样式(内联样式),把css样式写在style标签中:3.外部样式(外联样式),将css ...

  8. 样式表贴图定位(CSS Sprites):图像切片的死亡之吻

    <CSS Sprites: Image Slicing's Kiss of Death>是一篇旧文,于2004年3月5日发表于alistapart的第173期,作者是大名鼎鼎的CSS禅意花 ...

  9. 在html中样式表的三种类型,css样式有哪几种类型?

    CSS样式可以写在哪些地方呢?从CSS 样式代码插入的形式来看基本可以分为以下3种:内联式.嵌入式和外部式三种.下面本篇文章就来给大家介绍一下CSS样式的类型,希望对大家有所帮助. 内联式样式 内联式 ...

最新文章

  1. [C#]面向对象设计
  2. Visual Studio 2008 当页面进行调试时,IE8浏览器显示的是空白页面?
  3. python基础技巧总结(三)
  4. 一篇文章搞懂数据仓库:三范式与反范式
  5. java 两个数组交叉_java – 如何交叉两个没有重复的排序整数数组?
  6. Linux RHEL6 x64 命令行静默安装 Oracle 12c - 2
  7. oracle向右削减和补全,b操纵序列削减Oracle数据库开辟工作量-开辟技术/b[Oracle防范]...
  8. 问题四十四:怎么用ray tracing画空间任意位置的圆环的任意片段
  9. PKU3259-Wormholes(SPFA判断负环,含题意)
  10. 【数学分析笔记01】平均值不等式证明
  11. 什么是搜索引擎分词技术?
  12. 2020张宇1000题【好题收集】【第四章:多元函数微分学】【第五章:二重积分】
  13. PHP AJAX Promise
  14. 基于excel的数据分析
  15. Unity5.3官方VR教程重磅登场-系列6 VR真机测试和产品发布
  16. 自学的程序员一点竞争力都没有么?
  17. 炼数成金数据分析课程---7、数据分析简介
  18. DBSCAN聚类算法简介
  19. python第二课list基本命令
  20. 平台的核心交互与基础角色——互联网平台建设系列

热门文章

  1. codeforces Gargari and Bishops(很好的暴力)
  2. android uber启动动画,模仿Uber的启动画面(上)
  3. C/C++中的typedef 和 #define
  4. 华科计算机复试ccf成绩,新鲜速递!刚拟录取华科学妹总结的复试攻略,快看
  5. MySQL学习(4)多表查询
  6. 的setinterval函数_ES6 极简教程 lt;6gt; 函数扩展
  7. php 支付签名验证失败,choosewxpay fail解决,微信支付签名验证错误解决
  8. cuda linux编译器_linux下如何编译CUDA+QT(qtcreator下)
  9. python gui入门的例子_Python GUI编程之Tkinter入门之道
  10. mysql如何下载msi_2、Windows下MySQL数据库下载与安装详细教程 MSI方式