《jQuery与JavaScript入门经典》——2.3 调试CSS

简介: 如果JavaScript或jQuery脚本修改了DOM元素的CSS布局,查看Web浏览器中的代码不会有任何帮助,而需要查看浏览器应用于元素的CSS。为此,需要结合使用CSS检查器以及HTML检查器中的布局检查器和样式检查器。

本节书摘来自异步社区《jQuery与JavaScript入门经典》一书中的第2章,第2.3节,作者:【美】Brad Dayley著,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.3 调试CSS

要调试动态网页,还需知道如何调试CSS问题,因为要实现网页的动态性,很多时候都需使用JavaScript修改CSS布局。

如果JavaScript或jQuery脚本修改了DOM元素的CSS布局,查看Web浏览器中的代码不会有任何帮助,而需要查看浏览器应用于元素的CSS。为此,需要结合使用CSS检查器以及HTML检查器中的布局检查器和样式检查器。

2.3.1 使用CSS检查器
CSS检查器让您能够访问网页加载的所有CSS脚本,如图2.13所示。CSS检查器顶部有两个下拉列表,左边的下拉列表让您能够在下面两个选项之间切换。

  • CSS源代码编辑:显示随网页加载的原始CSS。
  • CSS实时编辑:显示当前应用于HTML元素的CSS。

screenshot

右边的下拉列表包含所有这样的文件,即已加载的包含CSS的文件。这让您能够选择要查看和编辑哪个CSS文档。

在CSS检查器中,还可以编辑CSS,如图2.13所示。请注意其中的禁用图标,单击这个图标将禁用相应的CSS属性,而这个图标也将从红色变成灰色。您还可以直接编辑CSS属性的值,如图2.13所示。

2.3.2 使用样式检查器
除编辑CSS文件外,还可查看和编辑特定元素的CSS属性,为此需要切换到HTML检查器。图2.14显示了HTML检查器中的“样式”选项卡。在样式检查器中,可查看和修改特定元素的属性值。

screenshot

图 2.14 还演示了样式检查器的一些重要功能。注意到在菜单中选择了:hover,这将显示将鼠标指向选定元素时,将应用于该元素的CSS样式。另外,注意到选择器span:hover覆盖了选择器span的background-color设置。样式窗口显示了完整的CSS层次结构,让您能够知道属性值来自哪个CSS选择器以及哪些值被覆盖。

2.3.3 使用布局检查器
调试CSS时,另一个功能极其强大的工具是HTML检查器中的布局检查器。布局检查器提供了易于使用的可视化界面,让您能够查看选定HTML元素的CSS布局,如图2.15所示。

在布局检查器中,您可以使用、查看和修改下述方面。

  • 外边距:外边距是布局检查器中最外面的矩形,每边都显示了外边距值。在布局检查器中,您可双击这些值来直接修改CSS属性。
  • 边框:边框是下一个矩形,它也有4个值,您可修改这些值来调整选定HTML元素的CSS边框属性。
  • 内边距:内边距是下一个矩形,它也有4个值,您可修改这些值来调整选定HTML元素的CSS内边距属性。
  • 内容:内容是布局检查器中最内面的矩形,它有两个值(长度和宽度),您可修改这些值来调整选定HTML元素的CSS属性length和width。
  • 标尺:标尺显示在网页中,让您能够查看元素的尺寸。
  • 辅助线:当您在布局检查器中选择外边距、边框、内边距或内容矩形时,网页中将出现辅助线。辅助线分水平和垂直两种,指出了选定CSS属性边缘的位置,在您需要在布局中对齐元素时很有用。

screenshot

编辑CSS布局

为帮助您理解如何使用Firebug调试和编辑CSS布局,来看程序清单2.3所示的代码。这些代码使用选项卡式方框显示信息。CSS属性存在一些问题,导致网页不能正确地显示,如图2.16所示。

注意到这些选项卡垂直地堆叠,且选项卡之间有空隙。

程序清单2.3 一个非常简单的HTML文档,其中存在一些HTML语法错误,如图2.16所示

screenshot
screenshot

screenshot

请按如下步骤修复CSS布局。

  1. 在项目的文件夹hour02中,新建文件hour0203.html,再其中输入程序清单2.3所示的代码,再保存文档。
  2. 启动Firefox并单击Firebug图标以启用Firebug。
  3. 在Firefox中输入如下URL。

screenshot

  1. 单击Firebug中的标签HTML,再依次展开元素< html>、< body>、< div id="container">、和< div id="tabs">,如图2.17所示。
  2. 选择元素< div id="container">并展开它。
  3. 选择子元素< div id="tabs">。
  4. 单击Layout(布局)标签,并将鼠标指向外边距矩形。查看用于包含标签的元素的外边距辅助线,它几乎与一个标签等宽,因此无法让全部三个标签并排显示。

screenshot

  1. 为修复这个问题,单击标签Style(样式),并将属性width改为300px,如图2.18所示。注意到三个标签并排显示了,但间距依然太大。

注意:也可以在布局检查器中直接修改外边距、边框、高度、宽度和内边距值。

screenshot

  1. 右击网页中的Name标签,并从弹出菜单中选择“使用Firebug查看元素”,将在HTML检查器中自动选择这个元素。
  2. 单击标签“布局”(Layout),并将鼠标指向外边距矩形,如图2.19所示。注意到< span>元素的外边距为5像素,这就是标签没有紧靠在一起的原因所在。

screenshot

  1. 切换到“样式”选项卡,并禁用< span>元素的margin属性,如图2.20所示。现在,标签紧靠在一起,并紧靠着信息框。
    screenshot
相关文章
|
JavaScript 前端开发
CSS3 动画和 JavaScript 动画的性能比较
具体的性能表现还会受到许多因素的影响,如动画的复杂程度、浏览器的性能、设备的硬件条件等。在实际应用中,需要根据具体情况选择合适的动画技术。
506 154
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
905 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
811 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
1251 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
|
JavaScript 前端开发
jQuery和CSS3超酷全屏视觉差幻灯片特效
jQuery和CSS3超酷全屏视觉差幻灯片特效
jQuery+CSS3实现404背景游戏动画源码
jQuery+CSS3实现404背景游戏动画源码
297 22
|
JavaScript 前端开发
jQuery和CSS3滑动展开菜单按钮插件
这是一款jQuery和CSS3滑动展开菜单按钮插件。该滑动展开菜单按钮在用户点击主菜单按钮之后,子菜单以滑动的方式依次展开
482 21
|
JavaScript 容器
jquery和CSS3图片排序过滤搜索插件
Filterizr是一款jquery和CSS3图片排序过滤插件。它可以对一组图片进行排序,按条件过滤和按关键字搜索。并在显示结果时使用指定的CSS3动画过渡效果。
282 2
|
JavaScript
jquery和CSS3响应式轮播图插件jcSlider
jcSlider是一款jquery和CSS3响应式轮播图插件。jcSlider使用CSS3过渡动画,它可以和animate.css完美结合,生成60多种轮播图过渡动画效果。
|
JavaScript
jQuery和CSS3精美翻页式电子时钟特效
jQuery和CSS3精美翻页式电子时钟特效

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    537
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    418
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    414
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    268
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    525
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    705
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    1296
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    300
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    1078
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    491