css学习笔记

common CSS样式 通用CSS样式文件 提供通用的CSS样式 立即下载

阅读<<高质量代码 web前端开发修炼之道>> 曹刘阳 著

1:web标准---结构.样式和行为分离

web标准分为3大部分:

结构标准:xml标准,xhtml标准,html标准;

样式标准:css标准;

行为标准:dom标准,ECMAScript标准;

一个合格标准的网页,标签中的标签名称全部都是小写,属性要加上引号,样式和行为不要夹杂在标签中,而应该别存放在样式文件和脚本文件中,推荐使用链接式引用文件,达到结构,样式和行为分离;

<link  rel="stylesheet" type="text/css" href="xxx.css" />

<script type="text/javascript" src="xxx.js"></script>

网页源代码由3部分组成:.html文件,.css文件和.js文件;

2:实现高质量的代码,在实现结构,样式和行为分离的基础上,还要做到3点:精简:精简的代码可以让文件变小,有利于客户端快速加载;

重用:重用可以让代码更精简,有助于开发速度;有序:有序可以更清晰的组织代码,使代码易于维护,有效应对变化;

3:标签的语义化

在web的3大元素中,html才是最重要的.结构才是重点,样式是用来修饰结构的,正确的做法是:先确定html,确定语义的标签,再来选择合适的css;

判断网页标签语义是否良好的方法是:去掉样式,看网页结构是否组织有序,是否仍然有很好的可读性;语义良好的网页去掉样式后结构依然很清晰;css裸体日

h标签:标签的含义是"标题",搜索引擎对这个标题比较敏感,尤其是h1和h2,一个语义良好的页面,h标签应该是完整有序的没有断层的;

4:表单

一般来说,表单域要用fieldest标签包起来,并用legent标签说明表单的用途,因为fieldest默认有边框,而legent也有默认的样式,为了满足设计需要,可以将fieldest的"border"设为"none";把legent的"display"设置为"none",以此来兼顾语义和设计两方面的需要,每个Input标签对应的文本说明都需要使用lable标签,并且通过为input设置id属性,在lable中设置"for=id"来让说明文本和相应的input关联起来;

5:表格

在使用表格的时候要选用合适的标签:表格的标题要用caption,表头要用thead包围,主体部分用tbody包围,尾部要用tfoot包围,表头和一般单元格要区分开,表头要用th,一般单元格要用td;

语义化表单应注意的一些问题:为了保证网页去样式后的可读性,并且有符合web标准,应注意:

--尽可能少的使用无语义标签div和span;

--在语义不明显,既可以使用p又可以使用div的情况下.尽量用p,因为p默认情况下有上下边距,去掉样式后的可读性更好,对兼容特殊终端有利;

--不要使用纯样式标签,例如b,font,u等,给用css设置;语义上需要强调的文本可以包含在strong和em标签里,strong和em有"强调"的语义,strong的默认样式是加粗,em是斜体;

6:浏览器兼容

为了确保向后兼容,浏览器厂商发明了标准模式和怪异模式两种方式来解析网页,在标准模式下浏览器根据规范表现页面,怪异模式下模拟老式浏览器(比如mocrosoft ie 4和netscape  navigaotr 4)的行为来防止老式站点无法工作,两种模式差异比较大;经典案例:IE对盒子模型的解析:在标准模式下,网页元素的宽度是由padding,border,width3者的宽度相加决定的;而在怪异模式下,width本身就包扩了padding和border的宽度,此外在标准模式下得块级元素的经典居中方法--设定width,然后margin-left:auto,margin-right:auto----在怪异模式下无法运行;一般情况下.我们应该避免触发怪异模式,应选用标准模式;

怪异模式的触发:与DTD有关;DTD全称Docoument  Type Definition及文档类型定义;DTD是一种保护html文档格式正确的有效方法,可以通过比较html和dtd文件来看文档是否符合规范.以及元素和标签是否正确;一个DTD文档包含元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符合规则;在网页中使用的dtd的版本声明在页面头部<!doctype>中;按照w3c标准,我们需要在html的最开始声明文件的dtd类型,如果漏写dtd声明,firefox仍然会按照标准模式来解析页面,但在IE中(6,7,8)就会触发怪异模式;

7:如何组织css

如何组织css有多种角度:例如按照功能划分,将控制字体的css集中在font.css中,将控制颜色的集中在color.css中将控制布局的集中在layout.css中,按区块划分,将头部放在hend.css中,底部放在foot.css中,侧边栏放在sidebar.css中,主体放在main.css中;

一种组织方式:base.css+common.css+page.css;将网站内的所有样式按照职能划分,这3者不是并列结构,而是层叠结构;

(1)base层,

这一层位于最底层,提供css  reset功能和粒度最小的通用类---原子类,这一层会被所有页面引用,是页面样式所需依赖的最底层;这一层与ui无关,无论何种风格的设计都要引用他,具有高度的可移植性,不同设计风格的网站可以使用同一个base.css,它所定义的是基本样式,内容很少,base层相对稳定,基本上不需要维护;

(2)common层

这一层位于中间.提供组件及的css类;"模块化"可以从样式和行为两个层面考虑,与common层有关的是样式的模块化,模块化是将页面中的元素拆分成一小块一小块的功能和样式相对独立的"模块",这些"模块"有些是少量重复的.有些是大量重复的,我们将大量重复的"模块"视为一个组件.,把它放在common层中.common层相当于mvc模式中的m;common是网站及的,不同的网站有不同的common层,在团队中common层最好由一个人负责,统一管理;

(3)page层

高度重用的模块把它视为组件放在common层中,非高度重用的模块可以把它放在page层;page层位于最高层,提供页面及的样式;

8:处理上下相邻margin

混用margin-top和maigin-tottom,这种做法会出现上下margin重合;margin-left和maigin-right是不会重合的;解决方法统一使用margin-top或者margin-bottom;

9:低权重原则

css样式是可以重叠的,由于css的选择符是有权重的,当不同选择符的样式设置有冲突的时候,会采用权重高的选择符设置的样式;

权重规则:html权重是1,class的权重是10,id的权重是100,如果css选择符权重相同,那么样式会采用就近原则,那个选择符最后定义(指在css文件中声明的先后),就采用那个选择符;

为了保证样式容易被覆盖.提高可维护性,css选择符需保证权重近可能的低,多用标签,次之class;

10:css sprite

图片翻转技术是将多张图片合并为一张,利用background-position属性来展示我们需要的部分,按照这种思路.后来衍生的另一种技术将这种思路发挥到极致---将网站的多张背景图片合并到一张大图片上,这便是css sprite;图片的加载会发送http请求,一张图片需要一条http请求,http请求越多,访问服务器的次数越多,服务器的压力就越,css sprite 会大大减少网页的http请求,减小服务器压力;

css sprite 难点:

(1)它能合并的只能是用于背景的图片,对于<img src=""/>设置的图片,是不能合并到css sprite大图中的,如果合成这些图片会影响页面的可读性;

(2)对于横向和纵向都平铺的图片,不能使用css sprite;如果是横向平铺的只能将所有横向平铺的合并成一张大图片.只能竖直排列,不能水平排列;纵向也是,不能竖直排列,只能水平排列;

(3)css sprite 通过background-position进行定位.对精度要求很高;

css sprite好处是减少http请求,减轻服务器压力,但却降低开发效率和增大了维护难度,对于流量不大的网站来说.css sprite的效果并不明显,所以是否使用sprite主要取决于网站流量;

common.css和common.js及GIF 弹框和对话框的的一些通用的js 和css 以及 GIF图片下载请注意自己是否能用到 立即下载

相关推荐

概率论基础-严士健 第二版 习题与补充1.6答案

概率论基础-严士健 第二版 习题与补充1.6答案 1.不独立。 设有一均匀正八面体,其第1,2,3,4面染红色,第1,2,3,5面染白色,第1,6,7,8面染黑色,现在以A,B,C分别表示投一次正八面体出现红、白、黑的事件,则 P(A)=P(B)=P(C)=12.P(A) = P(B) = P(C) = \frac{1}{2}.P(A)=P(B)=P(C)=21​. P(ABC)=18=P(A)P...

weixin_42341993的博客 2515

新版前端项目公用基础css -- common.css

【代码】新版前端项目公用基础css -- common.css。

qq_36278221的博客 549

免安装版Notepad++终极配置:右键菜单+图标美化+多文件批量处理(2024新版)

本文详细介绍了如何为免安装版Notepad++进行终极配置,包括右键菜单添加、图标美化以及多文件批量处理功能。通过注册表编辑和高级定制,用户可以在便携版中实现与安装版相同的功能体验,同时保持系统整洁。特别适合开发者、系统管理员和效率追求者使用。

nut55的博客 830

select 下拉框样式修改 option文字居右

select { direction: rtl; /*Chrome和Firefox里面的边框是不一样的,所以复写了一下*/ border: solid 1px #000; /*很关键:将默认的select选择框样式清除*/ appearance:none; -moz-appearance:none; -webkit-appearance:none; /*在选择框的最右侧中间显示小箭头图片*/ /* background: url("h

CodeDoge的博客 753

基于ROS2的实时视频流转换:image2rtsp在多路相机采集中的应用

本文详细介绍了如何在ROS2机器人系统中使用image2rtsp工具,将ROS2内部的相机图像话题实时转换为标准的RTSP视频流。重点阐述了其安装配置、核心参数调优,并提供了多路相机采集的实战方案,解决了机器人视觉数据跨平台、跨网络分发的难题,极大提升了视频流集成的部署效率。

weixin_29214559的博客 396

从IR Drop到EM分析:数字IC电源规划中那些没人明说的细节(以MTCMOS配置为例)

本文深入探讨数字IC后端设计中电源规划的关键细节,特别关注MTCMOS配置、电源网络电阻最小化和level shifter供电等实战技巧。通过分析IR Drop和EM问题,提供优化floorplan和powerplan的具体策略,帮助工程师避免常见陷阱,提升芯片设计的稳定性和可靠性。

q9w8e7r6t5的博客 511

common.css

【代码】common.css。

黑胡子大叔的博客 634

机器视觉应用工程师职位深度解析与面试指南

广东奥普特科技招聘机器视觉应用工程师,要求大专以上理工科专业背景,熟悉C/C++或PLC编程,具备自动化设备调试经验。岗位职责包括视觉项目方案评估、系统安装调试、售后技术支持及异常处理,需接受外派出差。该职位面向专业对口的应届生或实习生,强调动手能力、沟通技巧和吃苦耐劳精神。机器视觉工程师需掌握图像处理算法、硬件配置等核心技术,在工业自动化领域具有良好发展前景。求职者应注重编程能力和实践经验的积累,以胜任这一技术密集型岗位。

郑伟强dev的专栏 431

CSS学习笔记

CSS)指的是层叠样式表,可以同时控制多张网页的布局,外部样式表存储在 CSS 文件中,即实现一张HTML页面可切换多个样式。CSS 用于定义网页的样式,包括针对不同设备和屏幕尺寸的设计和布局。CSS 从 HTML 页面中删除了样式格式!样式定义通常保存在外部 .css 文件中。通过使用外部样式表文件,更改一个文件即可更改整个网站的外观!

ts1296797634的博客 2100

Qt Creator牵手DeepSeek,开启AI开发新征程

Qt Creator 是一款功能强大的跨平台集成开发环境(IDE),专为 Qt 应用程序开发量身定制。它支持在编程过程中使用 GitHub Copilot 等编码助手,能帮助开发者为桌面、移动端和嵌入式平台创建软件。在代码编辑方面,Qt Creator 具备代码补全、语法突出显示、重构等功能,内置文档也随手可得,极大提高了代码编写的效率和准确性。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 7189

acados安装与调试指南:版本兼容性问题

在计算机编程领域,软件工具和库的安装与调试是每个开发者必经的挑战。最近,在安装和使用acados库时,我遇到了一个有趣的问题,这里我将详细分享我的经验和解决方案。

m0_62153576的博客 739

CSS学习笔记目录

CSS学习笔记之基础教程(一) CSS学习笔记之基础教程(二) CSS学习笔记之中级教程(一) CSS学习笔记之中级教程(二) CSS学习笔记之中级教程(三) CSS学习笔记之高级教程(一) CSS学习笔记之高级教程(二) CSS学习笔记之高级教程(三) CSS学习笔记之高级教程(四)

wz_1992的博客 711

UFAST车道线检测 Ultra-Fast-Lane-Detection 从环境搭建到复现完成(一)

UFAST车道线检测 Ultra-Fast-Lane-Detection 从环境搭建到复现完成(一)

m0_46364958的博客 4345

Day1 CSS学习笔记

Day1 CSS学习笔记 附带分享链接 https://share.mubu.com/doc/5qGgkibvvg0

Chillax_LXL的博客 554

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

CSS3的学习笔记

css3的学习笔记

2301_80073794的博客 2429

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

HTML+CSS+JS学习笔记

HTML+CSS+JS学习笔记 学习笔记pdf文档下载

Ambitio_N的博客 296

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

CSS | 学习笔记

​本文是本人的css学习笔记,基于黑马程序员《从0到1学前端-HTML+CSS+移动web》课程和学校开设的前端开发课程。 我在文中添加了很多代码,是因为我感觉“纸上得来终觉浅”,代码就是要自己打出来才能了解得更透彻。 *发现css太多了所以分了几篇写,还有一些在难产中*

仅代表个人见解,有不足请指出 1196

CSS3学习笔记

border-box。

2401_88410373的博客 1082

CSS基础个人学习笔记

CSS,即层叠样式表是一种样式表语言,用来描述 HTML 或 XML(包括如 SVG、MathML 或 XHTML 之类的 XML 分支语言)文档的呈现方式。学习 CSS,需要在基本掌握 HTML 的前提下进行,本人的笔记也建立在运用 HTML 实现一些显示功能的基础上。

Sentra233的博客 856
上一篇: 图片 路径(分html控件和服务器控件)
下一篇: 5个通用CSS Frameworks框架/工具/教程
Sunset-
博客等级 码龄12年 0粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值