0

0

【读书笔记】精通CSS 第二版_html/css_WEB-ITnose

php中文网

php中文网

发布时间:2016-06-24 11:54:32

|

1421人浏览过

|

来源于php中文网

原创

 

div和span:

div用来对块级元素分组,span用来对行级元素分组。div代表division,它可以将文档分隔为几个有意义的部分,应该只在没有现有元素能实现区域分隔的情况下使用div。

微格式(microformat):

HTML中缺少相应的元素,很难突出显示人,地点,日期等类型的信息

参考:  微格式

文档类型定义DTD:

DTD是一组机器可读的规则,它们定义XML或HTML的特定版本中允许有什么不允许有什么,在解析网页时,浏览器将使用这些规则检查页面的有效性并且采取相应的措施

  • DOCTYPE当前有两种风格,严格(strict)和过渡(transitional)
  • 浏览器厂商开始创建与标准兼容的浏览器时,他们希望确保向后兼容性,他们创建了

    立即学习前端免费学习笔记(深入)”;

  • 标准模式
  • 混杂模式(quirks mode)
  • 几乎标准的模式(almost standard mode)
  • 选择器(selector):

  • 元素选择器
  • 后代选择器:由两个选择器之间的空格表示
  • ID选择器
  • 类选择器
  • 伪类选择器:
  •                              :link 和:visited称为链接伪类,只能用于锚元素

                                :hover :active 和 :focus称为动态伪类,理论上可以用于任何元素

  • 通用选择器:*,可以用来对某个元素的所有后代应用样式,或者跳过一级后代
  • 子选择器:>  ,只选择元素的直接后代,即子元素
  • 相邻同胞选择器:+ , 用于定位同一个父元素下某个元素之后的元素
  • 属性选择器:根据某个属性是否存在或属性的值来寻找元素
  • 层叠(cascade)和特殊性:

    !important提高重要度。

    作者的样式表即站点开发者最重要,用户其次,最后是浏览器或者用户代理使用的默认样式表

    如果两个规则的特殊性相同,那么最后定义的优先

    层叠采用以下重要度次序:

    1. 标有!important的用户样式
    2. 标有!improtant的作者样式
    3. 作者样式
    4. 用户样式
    5. 浏览器/用户代理应用的样式

    继承:

    应用样式的元素的后代会继承样式的某些属性

    直接应用于元素的任何样式总会覆盖继承而来的样式,这是因为继承而来的样式特殊性为空

    规划组织和维护样式表:管理代码的方法

    最近的浏览器基准测试已经表明:导入样式表比链接样式表慢

    多个文件会导致从服务器发送更多的数据包,这些数据包的数量(而不是内容)会影响下载时间

    浏览器只能从同一个域同时下载数量有限的文件(老式浏览器2个,现代浏览器8个)

    CSS使用c风格的/* */注释,建议在每个注释头中添加一个标志@注释,便于搜索

    链接:  CSSDoc项目:CSS模块化注释

    CSS文档结构

    /* @group general styles一般性样式

    ---------------------------------------------------------------------*/

    1. 主体样式
    2. reset样式
    3. 链接
    4. 标题
    5. 其他元素

    /* @group helper styles辅助样式

    ---------------------------------------------------------------------*/

     

    1. 表单
    2. 通知和错误
    3. 一致的条目

    /* @group page structures 页面结构

    ---------------------------------------------------------------------*/

     

    1. 标题,页脚和导航
    2. 布局
    3. 其他页面结构元素

    /* @group page components页面组件

    ---------------------------------------------------------------------*/

     

    1. 各个页面

    /* @group overrides 覆盖

    ---------------------------------------------------------------------*/

    颜色参考值表

    开发前在样式表头部以注释方式添加颜色查询表,完成后删除

    易标AI
    易标AI

    告别低效手工,迎接AI标书新时代!3分钟智能生成,行业唯一具备查重功能,自动避雷废标项

    下载

    /* Color Variables

    @colordef #434343;  dark gray;

    @………………………………………….

    */

    CSS优化

    删除注释,删除空白

    链接:

    服务器端压缩:Apache 的mod_gzip或者mod_deflate

    盒模型

    如果在元素上添加背景,那么背景会应用于由内容和内边距组成的区域,因此我们常常使用内边距在元素周围创建一个隔离带,使内容不会与背景混在一起,添加边框会在内边距的外边添加一条线,在边框外的是外边距,外边距是透明的,一般使用它控制元素之间的间隔。

    css2.1还包括outline属性,与border属性不同,轮廓绘制在元素框之上,所以它们不影响元素的大小和定位,因此outline有助于修复bug,因为它们不影响页面布局,大多数现代浏览器(包括IE8)支持轮廓。

    内边距,边框,外边距都是可选的,默认为0。但是许多元素将由用户代理样式表设置外边距和内边距。

    外边距可以为负值

    外边距叠加:当两个或者更多垂直外边距相遇时,它们将会形成一个外边距,这个外边距的高度等于两个发生叠加的外边距的高度中的较大者。当一个元素包含在另一个元素中,假设没有内边距或者边框将它们分开,它们的顶和底外边距也会叠加。空元素如果只有外边距没有内边距和边框,它自身的顶外边距和底外边距也会发生叠加。

    外边距叠加实际上有重要的意义,它使有若干段落组成的文本页面各处的距离一致。

    只有普通文档刘中块框的垂直外边距才会发生叠加,行内框,浮动框或绝对定位框之间的外边距不会叠加。

    可视化格式模型

    display:改变生成的框的类型

  • block:块级元素,块框,从上到下一个接一个垂直排列,框之间的垂直距离由框的垂直外边距计算出来,=
  • inline:行内元素,行内框,在一行中水平排列,可以用水平内边距,边框和外边距调整水平间距,但是垂直内边距,边框,外边距不影响行内框的高度。在行内框上设置显示的高度或者宽度也没有影响。
  •                        由一行形成的水平框称为行框,行框的高度总是足以容纳它所包含的所有行内框,但是设置行高可以增加这个框的高度,因此修改行内框尺寸的唯一方法是修改行高或者水平边框内边距外边距。

  • none:不显示,生成的元素根本没有框,不占用文档空间
  • inline-block 顾名思义,这个声明让元素像行内元素一样水平排列,但是框的行为依然符合块级框的行为
  • 理解屏幕上看到的所有东西都会形成某种框

  • 匿名块框:将一些文本添加到一个块级元素(比如div)的开头时,这些文本会被当成块级元素对待
  • 匿名行框:块级元素内的文本行,假设一个包含三行文本的段落,每行文本形成一个匿名行框
  • 无法直接对匿名块或行框应用样式,除非使用不常用的: first-line伪元素

    CSS三种定位机制:

  • 普通流:元素框的位置由元素在HTML中的位置决定
  •                          相对定位:position:relative ;

    相对定位实际上被看做普通流定位模型的一部分,因为元素的位置是相对于它在普通流的初始位置偏移的,但无论是否移动,元素仍然占据原来的空间,因此移动元素会导致它覆盖其他框。

  • 浮动:
  • 浮动的框可以左右移动,直到它的外边缘碰到包含框或者另一个浮动框的边缘。因为浮动框不在普通文档流中,所以普通文档流中的块框表现的就像浮动框不存在一样

    实际上,浮动框并不是完全不影响不浮动的元素,如果浮动的元素后面有一个文档流中的元素,那么这个元素的框会表现得浮动根本不存在一样,但是,框的文本内容会受到浮动元素的影响,会移动以留出空间。用技术术语来说,浮动元素旁边的行框被缩短,从而给浮动元素留出空间,因此行框围绕浮动框(实际上浮动的设计目的就是为了实现文字环绕效果)。

    要想阻止行框围绕在浮动框的外边,就需要对包含这些行框的元素应用clear属性,clear属性的值可以使left,right,both,none,它表示框的哪些边不应该挨着浮动框。在清理元素时,浏览器在元素顶部添加足够的外边距,使元素的顶边缘垂直下降到浮动框的下面。

    浮动元素脱离了文档流不影响周围的元素,但是对元素进行清理实际上为前面的浮动元素留出了垂直空间。

  • 绝对定位:position:absolute ;
  • 绝对定位使元素位置与文档流无关,它不占据空间,普通文档流中的其它元素的布局就像绝对定位的元素不存在一时样。如果扩大绝对定位的框(例如通过增加字号)周围的框不会被重新定位,因此尺寸的任何改变都有可能导致绝对定位的框产生重叠,从而破坏精心调整过的布局

    绝对定位的元素的位置是相对于距离它最近的那个已定位的祖先元素,如果不存在,那么相对于初始包含块。

    因为绝对定位的框与文档流无关,所以它们可以覆盖页面上的其它元素,可以通过z-index属性来控制这些框的叠放次序,z-index值越高,框在栈中的位置就越高。

                         固定定位:position:fixed;

                固定定位使绝对定位的一种,差异在于固定元素的包含块是浏览器视窗(viewport),这使我们能创建出总是出现在窗口相同位置的浮动元素

    IE和盒模型

    IE的早期版本包括IE6,在混杂模式中使用自己的非标准盒模型,这些浏览器的width属性不是内容的宽度,而是内容,内边距和边框的宽度总和。所以IE专有的盒模型使元素比预期的要小。

    IE6不支持固定定位,IE7部分支持,有许多bug

    HTML速学教程(入门课程)
    HTML速学教程(入门课程)

    HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

    下载

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    热门AI工具

    更多
    DeepSeek
    DeepSeek

    幻方量化公司旗下的开源大模型平台

    豆包大模型
    豆包大模型

    字节跳动自主研发的一系列大型语言模型

    通义千问
    通义千问

    阿里巴巴推出的全能AI助手

    腾讯元宝
    腾讯元宝

    腾讯混元平台推出的AI助手

    文心一言
    文心一言

    文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

    讯飞写作
    讯飞写作

    基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

    即梦AI
    即梦AI

    一站式AI创作平台,免费AI图片和视频生成。

    ChatGPT
    ChatGPT

    最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

    相关专题

    更多
    pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
    pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

    本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

    616

    2026.02.13

    微博网页版主页入口与登录指南_官方网页端快速访问方法
    微博网页版主页入口与登录指南_官方网页端快速访问方法

    本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

    194

    2026.02.13

    Flutter跨平台开发与状态管理实战
    Flutter跨平台开发与状态管理实战

    本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

    91

    2026.02.13

    TypeScript工程化开发与Vite构建优化实践
    TypeScript工程化开发与Vite构建优化实践

    本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

    20

    2026.02.13

    Redis高可用架构与分布式缓存实战
    Redis高可用架构与分布式缓存实战

    本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

    54

    2026.02.13

    c语言 数据类型
    c语言 数据类型

    本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

    29

    2026.02.12

    雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
    雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

    本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

    15

    2026.02.12

    豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
    豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

    本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

    598

    2026.02.12

    PostgreSQL性能优化与索引调优实战
    PostgreSQL性能优化与索引调优实战

    本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

    56

    2026.02.12

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号