《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
相关文章
|
9天前
一个好看的小时钟html+js+css源码
一个好看的小时钟html+js+css源码
80 24
|
20天前
|
JavaScript 前端开发
jQuery和CSS3滑动展开菜单按钮插件
这是一款jQuery和CSS3滑动展开菜单按钮插件。该滑动展开菜单按钮在用户点击主菜单按钮之后,子菜单以滑动的方式依次展开
59 21
|
17天前
|
JavaScript 容器
jquery和CSS3图片排序过滤搜索插件
Filterizr是一款jquery和CSS3图片排序过滤插件。它可以对一组图片进行排序,按条件过滤和按关键字搜索。并在显示结果时使用指定的CSS3动画过渡效果。
24 2
|
17天前
|
JavaScript
jquery和CSS3响应式轮播图插件jcSlider
jcSlider是一款jquery和CSS3响应式轮播图插件。jcSlider使用CSS3过渡动画,它可以和animate.css完美结合,生成60多种轮播图过渡动画效果。
|
23天前
|
JavaScript
jQuery和CSS3精美翻页式电子时钟特效
jQuery和CSS3精美翻页式电子时钟特效
|
24天前
|
JavaScript 前端开发
jQuery和CSS3斑马线样式range滑块特效
jQuery和CSS3斑马线样式range滑块特效
|
28天前
纸屑飘落生日蛋糕场景js+css3动画特效
纸屑飘落生日蛋糕CSS3动画特效是一款js+css3制作的全屏纸屑飘落,生日蛋糕点亮庆祝动画特效。
45 3
|
2月前
|
JavaScript 前端开发
js+jquery实现贪吃蛇经典小游戏
本项目采用HTML、CSS、JavaScript和jQuery技术,无需游戏框架支持。通过下载项目文件至本地,双击index.html即可启动贪吃蛇游戏。游戏界面简洁,支持方向键控制蛇移动,空格键实现游戏暂停与恢复功能。
69 14
|
2月前
|
JavaScript
jQuery+css3制作精美的2024圣诞节倒计时页面
jQuery+css3制作精美的2024圣诞节倒计时页面动画
26 0
jQuery+css3制作精美的2024圣诞节倒计时页面
|
2月前
|
JavaScript 前端开发
CSS3 动画和 JavaScript 动画的性能比较
具体的性能表现还会受到许多因素的影响,如动画的复杂程度、浏览器的性能、设备的硬件条件等。在实际应用中,需要根据具体情况选择合适的动画技术。

热门文章

最新文章