热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

学DIV+CSS技术,如何入门?分享

引言:引用一本书中的一段文字:“当我第一次开始学习汉语时,我的家庭老师老王给了我一本汉英字典、一本汉语语法书和一本初级教程。但是,他将这些书放在一个书筐里,并说到下周才能派上用场。

引言:

引用一本书中的一段文字:“当我第一次开始学习汉语时,我的家庭老师老王给了我一本汉英字典、一本汉语语法书和一本初级教程。但是,他将这些书放 在一个书筐里,并说到下周才能派上用场。在第一周,他只教我听和记一些短语。在开始严格有序的学习前,他要我学会如何复述一些短评。“请问,哪里有餐 馆?”。“请给我来点米饭”。“这件衣服多少钱?”。在那个星期,我不得不无条件地接受知识、句子结构、发音和语法。然而,到了星期五我居然可以去一家中 餐馆要了一碗米饭并付了账。没有理论,没有解释,就是这些简单的短语给了我做这件事的足够的语法和词汇。

不知从何时开始,CSS开始为国人重视起来。许多人都开始学习CSS,但又不知从何入手,所以此文就是给那些初学者所写,带他们踏上CSS列车。

学习任何东西都是一样,从小学、中学、大学,除了学习知识外就是去学习方法!

要想掌握CSS, 首先要学会HTML,我刚开始是从零开始学习的,花了一个月时间学习HTML,没有老师,书就是我唯一的老师,也没有上网的条件!一个月过后,我就开始学习CSS,刚开始看的第一本CSS书是《CSS网页样式设计》看了几天后发现根本看不懂!,之后换了一本《HTML参考大全》,这本书是网页制作师的案头常备之书!之所以更换这本书来学习CSS,是因为这里面有一部分是CSS,就成了我的CSS启蒙书。看了几段后,觉得外国人写的教程很有条理,由浅入深,一步一步引领你向前走,让你明白他们在说什么,而不是象国内的书讲的深浅不一,缺乏条理,好象怕你不知道他很有学问!就象前面所说的那本书《CSS网页样式设计》当时看了,对于初学CSS的我来说,真的不知道它在说什么!

再来谈一下学习过程中的细节,因为一个样式它是不可能脱离HTML页面的,HTML不与样式结合的话, CSS就失去了存在的意义。所以一般书中都会举一个例子,然后让你上机测试效果,这是笔者想让你有对样式表CSS有一个初步的印象,告诉你CSS能做什么。一个小例子:“麻雀虽小,五脏俱全”,你可能看不懂每一个语句的真正意思。但是你可以记得例子的模式,以后在实践中不断地用,不断用的过程就是不断记的过程,所以不能恢心,不能总认为自己记忆力不好,但不管你骑的是牛也好,千里马也罢,只要有恒心,一定会到达终点的。

阅读一本书,一般来说第一次要先把整个书通读一遍,不理解的也要往下看,在往下看的过程中你也许会找到那个问题的答案。看完后你有一个大概的印象,但一定有很多不明白的地方,没关系,继续往下看。

第二遍你就要边看边做学习笔记了,把你认为是重点的部分写上,还有,你觉得有疑问的部分也要记下,带着疑问看下去,如果没有答案,你可以去BBS上发一个贴子,好心人还是很多的,提示一句:“一定要学会如何去问问题!” 这里就不说了。你还要上机去练习书上的例子,最让你困惑的:“一是记不住,二是对概念的理解有误(这一条可能是书译的不好,另外就是你的理解不对)”,对于第一条你就要树立信心,坚持再坚持下去。当你到达终点时你回发现一切都是顺理成章的事。因为你努力了,努力了就会有回报,有结果。

有好多人也看了,但是没有什么进步,我分析主要有以下几个原因:

原因一:压力不够,因为有不少人比如美工学CSS,因为是看别人学,所以学之,不学就没优势!这样的压力是很小的,学不好还有美工这碗饭。

原因二:只是业余学习,这样学还只是玩一玩,因为你不一定非要以这门技术吃饭。

原因三:方法不对,有的人只是在看教程,但他不动手去做,我以前就是看的太多,做的太少,所以有了实践你才能把理论的东西揉进去。

有一次我问一个网友,学CSS难吗?她说:“不难”我说你学多久了?她说:“刚学”。其实她说的也没错!如果有人问我学CSS 难吗?我会说:“难!”为什么我会说难呢?
学CSS可以分成以下几个阶段:

阶段一:不去想浏览器的兼容性问题的情况下能做出页面,但页面里到处用TABLE的 模式DIV写出的页面。

阶段二:想到了兼容性问题,但无法提前预防,只会修补问题,大量使用HACK技术(我对HACK技术只是知道,但用的很少)

阶段三:可提前预防BUG,但样式表中大量应用了ID,CLASS,CSS译过来是重叠样式表,比如“DIV P SPAN”。这句是标明DIV子元素中P的子元素SPAN,这样写就可以定义SPAN的样式了,不用在SPAN中加入CLASS了。这也就是CSS的优点所在,为什么不好好利用而一定要定义一个CLASS呢!

阶段四:这一阶段是最难的,良好的HTML语义结构、合理的CSS、可重复利用的样式。良好的语义有这方面的文章,合理的CSS,这两方面以后一定会写专题来研究。

让我们一步步来。第一个要求是缩图的正下方要有个标题。作法相当直接了当:在你的 HTML 里放上图片,接着一个断行 (BR),再把标题放在一个段落 (P) 里并且置中 (利用 CSS)。

接着我们要让这些缩图跟标题成对地排列在浏览器窗口里。使用表格排版时,这一对对的缩图跟标题会被分别放置在 TD 里。在使用 CSS 排版时,我们要把它们分别放置在 DIV 里。为了让它们能水平排列在窗口上,我们用 CSS 让这些 DIV 往左浮动 (FLOAT)。

问题1:学CSS应该选什么样书来读?

先推荐几本:

CSS权威指南》

《网站重构》

《网站布局实录》

HTML参考大全》

如果对HTML还不太了解的话,可以先读读HTML参考大全》这本书,这本书即是一本教学书同时也是一本很好的用来查询HTML的工具书。最近出版的《精通CSS《无懈可击的Web设计》都是非常好的书,但不适合没有有CSS基础的人读,要想成为一个优秀的CSS Builder,还要有扎实的英文基础,那样你就可以去阅读国外的CSS教程,参与相关的论坛,有人说,不懂英语可以只看,但事实上,他们的书中论述的不仅仅是,更重要的,是他们会告诉我们编码的思想和编码的方法,这些都是我们值得去学习和领会的。另外我推荐的中文教程是:HTML and CSS Standard苏沈小雨《CSS2中文手册》、电子版《网页设计师》;外英文版的电子书很多,就不一一举例。看电子书是一件很乏味的事,我本人就不习惯看电子版的,所以经常买书看。

问题2:用什么软件编辑CSS?

这个问题好象是问过频率最高的!先说我自己吧,刚开始是用DreamWeaver写,由于DreamWeaver软件本身是一个很耗CPU和内存的软件,运行时编辑的速度就可想而知了。走了好长一段时间之后我才过度到了“半手写”状态,“半手写”就是利用DW提供的提示功能,当你写“F”时有关“F”的样式就会立刻在后面提示出来,方便你选取。如果再写上几个字母,你要的那个样式就很快找到了,这样可以加快你的写样式的速度,但有一个坏处就是如果你脱离了代提示的编辑软件你就不会写样式了,比如你在程序员那里修改微调样式时,他用的可不一定是你用的那个软件,不一定有提示功能,所以你只能回到自己的机器上编辑好了然后发给程序员!这样做显然是不专业的!所以如果想成为优秀的人就要做到够专业!

说了这些好象还没有说到主题

只要已经能达到会手写的程度,用什么软件都可以,推荐使用DreamWeaver外挂TopStyle(最新版本是Pro V3.12)。

问题3:先写HTML还是先写CSS

网上有很多种答案:先写HTML后写CSS;先写CSS后写HTML;两者同时写。我倾向于两者一起写,先写CSS或者先写HTML对于初学者都不是恰当得的方法。如果让一个人编写,你告诉他先写HTML,写完后 HTML不能修改了,然后你写CSS,如果他可以写出来,那这个人一定是一个水平非常高的Builder了!所以对于初学者,多数情况下我建议同时编写,具体我说一下步骤:

  1. 先要把站点建好,目录建好,比如我们建好文件夹CSS,IMAGES,这两个是最其本的,然后新建一个HTML文件,一个style.css一个空 的样式表,把HTML页连接到这个外部样式表。
  2. 然后我们先写HTML中的最基本的布局部分,都是用DIV,然后直接在DIV里加入ID或CLASS,这些 布局部分包括外套部分,头部分,中间部分,左,中,右,版权部分等。
  3. 写好这些后,这时你可以到样式表中写样式,或者你在接着写布局里的部分,我们拿头部为例,在头部写入LOGO部分,NAV部分也同样加入ID或CLASS。其它同理。

为什么说我们不可能一次性把HTML部分写好呢,因为人都是可能犯错误的,可能你的想法写的过程就是有问题的,或者为了浏览器的兼容性问题,有些是你由于经验的不足没有提前预料到的,所以当你写样式时发现了问题时就有可能要改动你的HTML的。大至的写法就是这样,你也可以HTML/CSS同时进行,都是可以的,看你的习惯。我们写时很多时候是边写边测试,也不是说写一句测试一句,而是写了一段后就进行浏览器的测试,我是同时用IE6与FF一起测试。一个优秀的制作师他们的多数情况写了很多时他们才测试一下,是因为一个人如果经验多的话,他们就会知道并提前预防浏览器错误显示的发生了!所以他们写的速度比没有经验的人快。他们已经经历过了你所要经历的错误,你第一次遇到错误的浏览器显示问题你要花时间去修补,而他们可提前防止或遇到了可立即解决问题!这就是你与他们的不同点之一。

初学者与高手不同点之处还有一个就是高手们使用了大量的快捷键,所以一定要记住那些常用的快捷键,每一个小的细节都有一点提高,综合在一起就是很大的提高。

另外提高自己的水平最好的方法就是多实践,多找一些比较好的HTML+CSS的模板进行编码实践,开始时要选一个简单点的,把页面截图,然后把这张图用自己的想法还原成HTML页面……

最后祝愿大家学习进步。

—-想了解更多的linux相关异常处理怎么解决关注<编程笔记>




推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 服务器上的操作系统有哪些,如何选择适合的操作系统?
    本文介绍了服务器上常见的操作系统,包括系统盘镜像、数据盘镜像和整机镜像的数量。同时,还介绍了共享镜像的限制和使用方法。此外,还提供了关于华为云服务的帮助中心,其中包括产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题和视频帮助等技术文档。对于裸金属服务器的远程登录,本文介绍了使用密钥对登录的方法,并提供了部分操作系统配置示例。最后,还提到了SUSE云耀云服务器的特点和快速搭建方法。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
author-avatar
手机用户2502889851
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有