【学习DIV+CSS】2. 学习CSS(一)--CSS控制页面样式
1. CSS如何控制页面
使用XHTML+CSS布局页面,其中有一个很重要的特点就是“结构与表现相分离”(结构指XHTML,表现指CSS)。有人这样描述这种分离的关系,结构XHTML好比一个人,表现CSS好比是衣服,如何让CSS去控制页面,好比是如何让衣服穿在人身上。不同的CSS就可以使页面出现不同的风格适应不同的网站,而不同的衣服,人穿上后就会体现不同的职业。
1.1 如何让CSS去控制页面?
CSS控制页面的样式有四种,分别是:行内样式、内嵌样式、链接样式、导入样式。
1)行内样式:
行内样式是4中样式中最直接最简单的一种,直接对html标签使用 style="",例如:
<span style="color:#ffffff; font-size:15px;">行内样式</span>
虽然这种方式比较直接,但是过多的style属性代码会导致html页面不够纯净,造成文件体积过大,冗余过多,不利于搜索蜘蛛爬行,同时会造成后期运维成本的提高。
2) 内嵌样式:
内嵌样式是将css代码写在<head></head>之间,并且使用<style type="text/css"></style>进行声明,例如:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> <title>内嵌样式</title>
<style type="text/css"> .class1{color:#ffffff; font-size:15px;} </style>
</head>
<body> <span class="class1">内嵌样式</span>
</body> </html>
如果一个网站或系统的页面不是很多的情况,使用内嵌样式到是个不错的选择,如果有很多页面的话就会造成每个页面的文件都很大,不利于CSS样式共享不说,也会给后期的维护工作带来很大的难度。
3)链接样式:
链接样式可以说是使用频率最高,最实用的一种方式了,只需要在<head></head>加上<link href="css文件路径" type="text/css" rel="stylesheet"/>即可,举个示例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> <title>链接样式</title>
<link href="../Common/css/main.css" rel="stylesheet" type="text/css" />
</head>
<body> <span class="class1">链接样式</span>
</body> </html>
.class1{color:#ffffff; font-size:15px;}
这种方式将HTML文件和CSS文件彻底的分成了两个或多个文件,实现了页面框架HTML代码与表现CSS代码的完全分离,使得前期制作和后期的维护变的方便,并且如要要保持界面风格统一,只需要把这些公共的CSS文件单独保存成一个文件,其他的页面就可以分别调用自身的CSS文件,如果需要改变网站或系统风格,也只需要改动公共的CSS文件即可,这才是我们XHTML+CSS制作页面提倡的方式。
4)导入样式:
导入样式和链接样式比较相似,采用import方式导入css样式集,在HTML页面初始化时,会被导入到HTML文件中,成为文件的一部分,类此第二种内嵌样式。建议大家采用链接方式。
注:导入样式和链接样式有什么区别呢?
link
link就是把外部CSS与网页连接起来。 @import
import文字上与link的区别就是它可以把在一个CSS文件中引入其它几个CSS文件。 为什么使用@import
大部分使用@import方式的人是因为旧的浏览器是不支持@import方式的,这意味着我们可以使用@import来引入只让现代浏览器解析的CSS样式.
另一个主要的原因就是当你的网页需要引入几个外部CSS文件时.你可以使用link引入一个CSS,然后在这个CSS文件中用@import方式引入其它几个CSS文件.这样看起来更容易管理. 为什么使用link
使用link方式一个最主要的原因就是你可以让用户切换CSS样式.现代浏览器如Firefox,Opera,Safari都支持rel="alternate stylesheet"属性(即可在浏览器上选择不同的风格),当然你还可以使用Javascript使得IE也支持用户更换样式. @import的小毛病
如果你网页head标签里面十分简单,只有@import属性的话,当用户浏览的网速较慢时,他会看到一个没有风格样式的页面,然后随着CSS文件被下载完成才可以看到应有的风格.要避免这样的问题,你需要确保head里至少有一个script或是link标签.
04-11更新: @import会使得CSS整体载入时间变长.并且在IE中会导致文件下载次序被更改,例如放置在@import后面的script文件会在CSS之前被下载. 到底要用那种方式
就目前看来小型的网站还是使用link比较合适(或者说比较流行),当然如果将来我们需要把CSS进行模块化管理也肯定要用到@import.
1.2 样式的优先级
如果这上面的四种的两种处于同一页面,就会出现优先级问题,四种样式的优先级是按照“就近原则”:
行内样式 > 内嵌样式 > 链接样式 > 导入样式
【学习DIV+CSS】2. 学习CSS(一)--CSS控制页面样式的更多相关文章
- Flex中使用CSS控制页面样式
Using file: Stylebounding.mxml Stylebounding2.mxml myCSS0329.css 在Flex4中使用CSS控制样式,既可以直接在MXML文件中写样式,也 ...
- 如何利用CSS中的ime-mode用来控制页面上文本框中的全角/半角输入
css 之 ime-mode语法:ime-mode : auto | active | inactive | disabled取值:auto : 默认值.不影响ime的状态.与不指定 ime-mode ...
- DIV+CSS系统学习:转载
第一部分 HTML 第一章 职业规划和前景 职业方向规划定位: web前端开发工程师 web网站架构师 自己创业 转岗管理或其他 web前端开发的前景展望: 未来IT行业企业需求最多的人才 结合最新的 ...
- 如何从零开始学习DIV+CSS
CSS是样式,DIV是层.DIV+CSS是网站标准(web标准),通常为了说明与HTML网页设计语言中的表格(table)定位方式的区别.因为XHTML网站设计标准中,不再使用表格定位技术,而是采用D ...
- 总结与学习DIV+CSS网页布局技巧
以前用表格布局时设置网页居中非常方便,把表格对齐方式设置为居中就行了,就这么简单,现在呢,用DIV+CSS样式表控制,好像不是那么容易了,其实也很简单,只不过方式不同而已. <style> ...
- 【学习DIV+CSS】1. 你必须知道的三个知识
1. DIV+CSS的叫法不够严谨 我们以前做页面布局的时候大多是用Table,很多人称之为“Table+CSS”,而现在比较流行的是DIV布局,所以称之为“DIV+CSS”.听起来是挺合理的,岂不知 ...
- (4)《Head First HTML与CSS》学习笔记---文本的CSS规则和盒模型;div与span;<a>元素的链接色;伪类
1.每个font-family包含一组共同特征的字体.共五个字体系列: sans-serif----这个系列包括了没有衬线的字体,与serif相比,通常认为这个系列更容易在计算机上识读. serif- ...
- 2、CSS学习 - IT软件人员学习系列文章
上文我们讲了HTML,本文讲讲CSS. 上次我们讲了CSS是HTML页面的装修部分,就是各种瓷砖.粉墙.说明了CSS在HTML页面中的重要地位.没有CSS,那么HTML页面将很粗糙,就象我们的毛坯房一 ...
- CSS入门级学习
css入门学习1:认识CSS 1.1:css简介,css全称是层叠样式表,Cascading style sheets 1.2:css的作用,主要是用于定义html内容在浏览器内的显示样式,如文字大小 ...
随机推荐
- Week2-作业1
第一章:引用:如果一架民用飞机上有一个功能,用户使用它的概率是百万分之一,你还要做这个功能么? 选择之后,这个功能是什么呢?谜底是飞机的安全功能. 个人认为,飞机的安全功能这个 ...
- Visual Studio发展历程初浅调研
名称 内部版本 发布日期 支持.NET Framework版本 核心功能 竞争对手 优缺点 Visual C++ 1.0 Visual Studio的最初原型 1992 把软件开发带入了可视化开发的时 ...
- 3、第一个Python程序
现在,了解了如何启动和退出Python的交互式环境,我们就可以正式开始编写Python代码了. 在写代码之前,请千万不要用“复制”-“粘贴”把代码从页面粘贴到你自己的电脑上.写程序也讲究一个感觉,你需 ...
- iOS开发 tableView点击下拉扩展 + 内嵌collectionView上传图片效果
---恢复内容开始--- //需要的效果 1.设置window的根视图控制器为一个UITableViewController #import "AppDelegate.h"#imp ...
- (转)关于ES6的 模块功能 Module 中export import的用法和注意之处
关于ES6的 模块功能 Module 中export import的用法和注意之处 export default 的用法 export default命令用于指定模块的默认输出.显然,一个模块只能有一 ...
- matlab for 运算的提速
[1]主要思想:matlab是按列存储,定义s(nums,1)比定义s(1,nums)要快哦 需要重复query的元素看看能不能再for之前就定义好 经典案 ...
- UVA11374_Airport Express
给一个无向图,有的边是特殊边,最多可以取一条特殊边,求最短路,并且输出路径. 这样考虑,加入所有非特殊边,求出每个点到起点和终点的最短路.然后加入特殊边的时候,如果取当前这条特殊边,那么答案会是两点预 ...
- Alpha,Beta,RC,RTM,EVAL,CTP,OEM,RTL,VOL
微软的一个系统(如Win 7)或开发工具(VS系列),往往会对应很多种版本,下面就介绍一下这些版本的含义: Alpha (阿尔法,希腊字母的第一位'α',代表最初的版本) Alpha是内部测试版, ...
- BZOJ3439 Kpm的MC密码(可持久化trie)
将串反过来就变成查询前缀了.考虑建一棵可持久化trie,查询时二分答案,均摊一下复杂度即为O(mlogn). #include<iostream> #include<cstdio&g ...
- Jmeter—添加断言 判断接口响应数据是否符合预期
发出请求之后,通过添加断言可以判断响应数据是否是我们的预期结果. 1 在Jmeter中发送一个状态返回200的http请求(参数故意输入错误).结果肯定是不是返回200啦. 但结果树中http请求的图 ...