《CSS网站布局实录》读书笔记

news/2024/5/13 17:32:19/文章来源:https://blog.csdn.net/weixin_30904593/article/details/98006384

从Web标准、HTML标记、CSS语法基础介绍到实用技巧,事无巨细。实体书已不印刷,只能下载电子版

 

书的背景:

国内第一本web标准的CSS布局书,2006年9月第一版,作者李超。

 

环境背景:

当时主流浏览器IE6与Firefox,兼容浏览器IE5/4/Opera/Mozilla,web2.0标准是XHTML1.0,为XML过渡而生,页面编码格式gb2312,使用工具Dreamweaver可视化开发。

 

基础篇之XHTML:

HTML结构包括头部(head)主体(body)两大部分。头部描述浏览器所需信息如<title>无标题文档</title>,主体包含所要展现的具体内容,如<h1>1级标题</h1><p>文字段落</p>。

以前头部需要申明DTD,告诉浏览器页面解析规则,这里不做赘述啦,现在的页面框架,如下

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title>我的第一个网页</title>
 5     <meta charset="utf-8" />
 6 </head>
 7 <body>
 8     <h1>Hi</h1>
 9 </body>
10 </html>
HTML基本结构

 

基础篇之CSS:

  • CSS语法组成

- 仅由选择符(Selector)、属性(Property)、值(Value)三部分组成。

  • CSS选择符(器)

- 类型选择符 网页标签名作为名称的选择符。如常见的div{属性:值},p{olor:red;},span{..},现称元素/标签选择器

- 群组选择符  对一组XHTML对象进行相对样式的指派。如h1,h2,p,span{},现称选择器分组

- 包含选择符 对某个对象的子对象进行指派。如h1 span{},现称后代选择器

- id及class选择符 对标签进行自定义名称。如<h1 id="title"></h1>,<div class="title"></div>

- 标签指定式选择符 想对标签指定id或class。如h1#content{}h1.title{}

- 组合选择符 无论什么样的选择符均可进行组合使用。如h1 .title{} h1 .title,#content h2{}

- 伪类及伪对象选择符 是一种特殊的类和对象,CSS会自动支持,名称不能被自定义。如a:hover{}

- 通配选择符 代替不确定的内容,使用“*”指所有文件。如*{},以前用来替换浏览器对一些标签设定的默认样式,现解决方法css reset

现在看这些名称定义挺有趣。

以下是对选择器的补充

- 属性选择器 a[href] {},对只有某个属性的元素应用样式

- 子元素选择器 h1>strong{},与后代相比,它只选择某个元素的第一个子元素

- 相邻兄弟选择器 h1+p{},仅接着另一个元素后的一个元素,邻居

  • CSS单位

CSS指定的数值均有两种形式。一种是指定的范围,比如float属性,只能应用left,right,none,inherit四种值;另一种为数值,比如宽width:0~9999px。除了px像素单位外还有其它许多类型单位。

- em(相对字体尺寸)em会继承父级元素的字体大小
- ex(相对字符高度尺寸)

<!DOCTYPE html>
<html>
<head><title>11</title><meta charset="utf-8" /><style type="text/css">html{font-size: 12px;}.a{font-size: 2em;}.b{font-size: 2em;}</style>
</head>
<body><div class="a">字体24px<div class="b">字体48px</div></div>
</body>
</html>
em demo

- pt(点/镑point)
- pc(派卡Pica)
- in(英寸Inch)
- mm
- cm
- rgb(颜色单位红绿蓝)
- #ccc(十六进制颜色单位)
- Color Name(浏览器所支持的颜色名称,red/green/black...)

其中一些没听过~~依旧补充

- rem 主要用于移动端
- % 百分比
- rgba 在rgb的基础上增加Alpha透明通道
- deg 度(css3旋转)
- s 秒(动画执行的时间)
- vw 相对于视口宽度
- vh 相对于视口高度

  • 页面关联样式方法

- 行间样式表 <h1 style="font-size:12px;color:red;"></h1>,不推荐使用,最好结构样式相分离
- 内部样式表 头部中加入<style type="text/css"></style>
- 外部样式表 分为两种,link和@import,其中推荐使用link<link rel="stylesheet" href="style.css" />,import在此不做讲解,两者的区别有兴趣请点击

  • 样式优先权

CSS中难免存在重复定义以及优先使用规则,样式优先权不可忽视的
顺序:!important > style >  id > class > tag

详情请移步我以前收集的资料:《CSS权重》

 

CSS网页布局与定位:

  • 认识div

div是个容器,主要是用来布局和嵌套

  • 一列宽度自适应

将固定值改为百分比的形式就行,div默认将占据整行空间即100%的自适应

1 #layout{
2     background:#ccc;
3     width:80%;
4     height:200px;        
5 }
  • 二列宽度自适应
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title>css两列右列宽度自适应布局</title>
 5     <style type="text/css">
 6         .left{
 7             width: 300px;
 8             background: yellow;
 9             float: left;
10         }
11         .right{
12             background: gray;
13         }
14     </style>
15 </head>
16 <body>
17     <div class="left">
18         111
19     </div>
20     <div class="right">
21         222
22     </div>
23 </body>
24 </html>
两列自适应
  • 三列浮动中间自知应
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title>三列宽度自适应</title>
 6     <style type="text/css">
 7         *{
 8             padding:0;
 9             margin:0;
10         }
11         html,body{
12             height: 100%;
13         }
14         .left{
15             width: 300px;
16             background: yellow;
17             position: absolute;
18             top: 0;
19             left: 0;
20             height: 100%;
21         }
22         .right{
23             background: gray;
24             position: absolute;
25             top: 0;
26             right: 0;
27             width: 200px;
28             height: 100%;
29         }
30         .center{
31             background: green;
32             margin: 0 200px 0 300px;
33             height: 100%;
34         }
35     </style>
36 </head>
37 <body>
38     <div class="left">
39         左列
40     </div>
41     <div class="center">
42         中间
43     </div>
44     <div class="right">
45         右列
46     </div>
47 </body>
48 </html>
三列中间自适应
  • 高度自适应

一个高度是否能百分比显示关键在于对象的父级对象

1 html,body{
2     height:100%;      
3 }
4 .content{
5     width:100px;
6     height:100%;
7     background:gray;
8 }
  • 盒模型

W3C对它的定义指CSS布局中的每一个元素,在浏览器的解释中,都被当做盒状物。浏览器对元素的一种理解方式。

注:CSS盒模型的设计当中,它的宽高由width/height/padding(内边距)/margin(外边距)/border(边框)来提供。

 

CSS内容排版:

  • 有意思的文字样式,贴上练习代码
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title>文字</title>
 6     <style type="text/css">
 7         html,body{
 8             padding:0;
 9             margin:0;
10         }
11         header:first-letter{
12             float: left;
13             font-size: 2em;
14         }
15         header p:first-line{
16             font-size: 2em;
17         }
18         p.a{
19             word-spacing:30px;
20         }
21         p.b{
22             word-spacing:-10px;
23         }
24     </style>
25 </head>
26 <body>
27     <header>
28         我就是我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我
29         <p>YES我就是我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的</p>
30     </header>
31     <p class="a">This is some text. This is some text我就是我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的</p>
32     <p class="b">This is some text. This is some text我就是我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的</p>
33 </body>
34 </html>
View Code

显示效果

  • 不规则的文字环绕(实现方法神奇吧)

 

可选了解的内容:

书中提到的浏览器兼容与解析问题,可以进行了解或直接查阅最新资料

书中提到常见网站元素设计CSS的解决方案,比如圆角,横向/纵向导航,弹出式菜单等

 

快速预览及跳过的内容:

CSS可视化开发与调试,主要讲的是DW工具的使用。

 

小结:

想了解web2.0时代革新内容及它的历史,想全面认识CSS,比如什么是div,span,id,class,文档流的概念,浮动布局,相对与绝对定位布局,有序与无序列表运用,更多的文字样式,水平/垂直居中,css sprite(精灵),网站换肤等及以上种种,可以看看这本书~

 

转载于:https://www.cnblogs.com/chenlily/p/5483205.html

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

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

相关文章

谁在使用我的网站——用户行为分析

谁在使用我的网站——用户行为分析 前面根据用户的特征对用户做了分类&#xff0c;设定了一些常用的用户指标和值得关注的用户指标&#xff0c;基于这些分类用户指标的分析可以发现用户运营和推广中的诸多问题&#xff0c;其中活跃用户和流失用户的定义中已经用到了与用户行为相…

如何选择合适的网站程序

如何选择合适的网站程序 对于大多数的新手站长&#xff0c;如果要自己建一个网站&#xff0c;一般都是从网上下载一些现成的网站程序代码。可是&#xff0c;这些新手对于选择哪种CMS程序往往比较困惑&#xff0c;不知道哪个好用一些。现在&#xff0c;我们就来说说如何选取合适…

后端小白的我,是如何成功搭建 express+mongodb 的简洁博客网站后端的

前言 blog-node 是采用了主流的前后端分离思想的&#xff0c;主里只讲 后端。 blog-node 项目是 node express mongodb 的进行开发的&#xff0c;项目已经开源&#xff0c;项目地址在 github 上。 效果请看 http://biaochenxuying.cn/main.html 1. 后端 1.1 已经实现功能 [x]…

Flickr 网站架构分析

Flickr.com 是网上最受欢迎的照片共享网站之一&#xff0c;还记得那位给Windows Vista拍摄壁纸的Hamad Darwish吗&#xff1f;他就是将照片上传到Flickr&#xff0c;后而被微软看中成为Vista壁纸御用摄影师。 Flickr.com 是最初由位于温哥华的Ludicorp公司开发设计并于2004年2月…

一个可以实时查相关电子产品价格的网站_我是亲民_新浪博客

香港价格网&#xff0c;里面的价格和香港的百老汇、丰泽等的价格几乎同步&#xff0c;相差不大&#xff0c;有很大的参考价值&#xff0c;对于准备去香港买电子产品的网友来说&#xff0c;是个非常好的网站&#xff0c;特别分享&#xff1a; http://www.price.com.hk/

一个可以实时查相关电子产品价格的网站

香港价格网&#xff0c;里面的价格和香港的百老汇、丰泽等的价格几乎同步&#xff0c;相差不大&#xff0c;有很大的参考价值&#xff0c;对于准备去香港买电子产品的网友来说&#xff0c;是个非常好的网站&#xff0c;特别分享&#xff1a; http://www.price.com.hk/

微软所有正版软件下载网站ITELLYOU_我是亲民_新浪博客

上周上课&#xff0c;从一个学生得知这样一个神奇的网站&#xff0c;汇集了微软出品的几乎所有软件&#xff0c;提供下载。 这是网站的主页&#xff0c;简简单单&#xff0c;就是一个分类。 里面的操作系统栏目&#xff0c;涵盖了DOS6到最新的Windows8.1 with update&#xff1…

微软所有正版软件下载网站ITELLYOU

上周上课&#xff0c;从一个学生得知这样一个神奇的网站&#xff0c;汇集了微软出品的几乎所有软件&#xff0c;提供下载。 这是网站的主页&#xff0c;简简单单&#xff0c;就是一个分类。 里面的操作系统栏目&#xff0c;涵盖了DOS6到最新的Windows8.1 with update&#xff1…

镜像下载网站

1、ISO镜像下载网站&#xff1a;网易镜像&#xff1a;   http://mirrors.163.com/阿里镜像&#xff1a;   https://opsx.alibaba.com/mirror # 亲测可用。点进去&#xff0c;选择ISO文件&#xff0c;点击即开始下载 centos中文站&#xff1a; https://www…

IIS6批量转移网站

IIS6.0有个导出配置的功能&#xff0c;但你却找不到界面上的直接导入配置功能&#xff0c;需要用到操作系统自带的iiscnfg.vbs脚本。 1、导出当前的IIS网站配置 打开Internet信息服务(IIS)--->右键“网站”--->“所有任务”--->弹出的保存窗口&#xff0c;填写文件名和…

你可以将类似于Google Earth的地球仪嵌入到自己的网站中

Poly9公司的开发了一个叫FreeEarth的地球仪。它的功能类似于Google Earth和微软的Virtual Earth&#xff0c;但它是基于Flash的&#xff0c;所以可以让您只要稍微加几句代码就能把它嵌入到网站中。当然肯定也没有前两款软件这么精确了。不过还是很受网友们的欢迎&#xff0c;现…

28个在线学习网站让你变身齐天大圣!

无论是考虑换工作成为一个全职的程序猿&#xff0c;还是试图搭建一个网站&#xff0c;亦或是想要掌握更多的技能&#xff0c;总之现在越来越多的人都开始学习如何编程。虽然编程不一定适合所有人&#xff0c;但是对相关的知识多深入了解一下总归是有一些好处的。 在正式介绍这些…

IIS服务器访问网站出现403错误的解决方法

最近用织梦做了一个网站&#xff0c;因为织梦会在一个文件夹中生成网站的静态页面&#xff0c;而我们单击某个栏目时&#xff0c;一般程序都是直接去寻找该文件夹中的index.html文件的&#xff0c;当服务器中默认的索引文件不包括index.html时&#xff0c;就出现了403错误&…

大型网站架构图

亚马逊大型网站架构图 转载于:https://www.cnblogs.com/KevinXia/p/3853617.html

可以观看CCTV-5高清直播的网站-天天直播_我是亲民_新浪博客

网址&#xff1a;http://www.tiantian.tvCCTV5:http://www.tiantian.tv/channel/cctv5.html直播好站的效果也是非常棒&#xff0c;视频中连广告都没有&#xff1a;http://www.zzhaoz.com/高清版效果非常棒&#xff01;部分频道&#xff1a;

可以观看CCTV-5高清直播的网站-天天直播

网址&#xff1a;http://www.tiantian.tvCCTV5:http://www.tiantian.tv/channel/cctv5.html直播好站的效果也是非常棒&#xff0c;视频中连广告都没有&#xff1a;http://www.zzhaoz.com/高清版效果非常棒&#xff01;部分频道&#xff1a;

大型网站系统架构演化之路

前言一、最开始的网站架构二、应用、数据、文件分离三、利用缓存改善网站性能四、使用集群改善应用服务器性能五、数据库读写分离和分库分表六、使用CDN和反向代理提高网站性能七、使用分布式文件系统八、使用NoSql和搜索引擎九、将应用服务器进行业务拆分十、搭建分布式服务小…

大型网站技术架构(六)网站的伸缩性架构

2019独角兽企业重金招聘Python工程师标准>>> 网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能&#xff0c;通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。 1、网站架构的伸缩性设计 网站的…

学习JSON的神级网站www.bejson.com_我是亲民_新浪博客

Android开发中&#xff0c;JSON的操作是绕不过去的&#xff0c;这个网站给开发人员提供了一个非常全的文档和处理工具&#xff1a;http://www.bejson.com

学习JSON的神级网站www.bejson.com

Android开发中&#xff0c;JSON的操作是绕不过去的&#xff0c;这个网站给开发人员提供了一个非常全的文档和处理工具&#xff1a;http://www.bejson.com