技术分享 | Web测试方法与技术之CSS讲解

简介: 技术分享 | Web测试方法与技术之CSS讲解

CSS 就是层叠样式表(Cascading Style Sheets),定义如何显示 HTML 元素。HTML 元素的样式通常存储在层叠样式表中。

为什么要使用CSS

使用 CSS 可以定义 HTML 元素显示的样式,其实是为了解决内容与表现分离的问题。通过 CSS 可以让相同的一个页面在不同的浏览器当中呈现相同的样式。

CSS组成

CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明:


选择器通常是需要改变样式的 HTML 元素。每条声明由一个属性和一个值组成。属性(property)是希望设置的样式属性(style attribute)。每个属性有一个值,属性和值被冒号分开。

要查看页面中的 CSS 又需要用到浏览器的开发者工具了。打开 Elements 面板。在面板右侧展示的就是 CSS。


CSS选择器

CSS 首先需要通过选择器来确定要定义样式的元素。常用的选择器有下面这几种。

CSS创建

  • 外部样式表
<link rel="stylesheet" type="text/css" href="mystyle.css">
  • 内部样式表
<style>
hr {color:sienna;}
p {margin-left:20px;}
</style>

上面例子中的 hr 和 p 就是用了元素选择器来确定要定义样式的元素。

  • 内联样式:
<pstyle="color:sienna;margin-left:20px">这是一个段落。</p>

常见CSS样式

  • background 简写属性,可以跟下面的所有值
  • background-color 设置元素的背景颜色
  • background-image 把图像设置为背景
  • background-position 设置背景图像的起始位置
  • background-repeat 设置背景图像是否及如何重复
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>网页标题</title>
    <style>
    p {
        background-color: red;
    }
    body {
        background-image: url("[xx.png](https://ceshiren.com/uploads/default/optimized/1X/809c63f904a37bc0c6f029bbaf4903c27f03ea8a_2_180x180.png)");
        background-repeat: no-repeat;
        background-position: right top;
    }
</style>
</head>
<body>
    <div id="first" class="content">
        <p>设置了红色背景</p>
    </div>
</body>
</html>

color 设置文本颜色

  • text-align 对齐元素中的文本
  • text-decoration 向文本添加修饰
  • text-indent 缩进元素中文本的首行
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>网页标题</title>
    <style>
    h1 {
        color: blue;
        text-align: center;
        }
    p {
        color: red;
        text-align: left;
        text-decoration: underline;
        text-indent: 50px;
    }
</style>
</head>
<body>
    <div id="first" class="content">
        <h1>蓝色文字</h1>
        <p>正文第二行正文第二行正文第二行正文第二行正文第二行正文第二行正文第二行正文第二行正文第二行正文第二行</p>   
    </div>
</body>
</html>


  • font 在一个声明中设置所有的字体属性
  • font-family 指定文本的字体系列
  • font-size 指定文本的字体大小
  • font-style 指定文本的字体样式
  • font-weight 指定字体的粗细
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>网页标题</title>
    <style>
    p {
        font-family: "Times New Roman";
        font-size: 200%;
        font-style: italic;
        font-weight: bold;
    }
</style>
</head>
<body>
    <div id="first" class="content">
        <p>content</p>   
    </div>
</body>
</html>

list-style 把所有用于列表的属性设置在一个声明中

  • list-style-image 将图像设置为列表项标志
  • list-style-type 设置列表项标值的类型
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>网页标题</title>
    <style>
    ul {
        list-style-image: url('https://ceshiren.com/uploads/default/optimized/1X/809c63f904a37bc0c6f029bbaf4903c27f03ea8a_2_32x32.png');
        list-style-type: circle;
    }
</style>
</head>
<body>
    <div id="first" class="content">
        <ul>
            <li>python</li>
            <li>java</li>
            <li>go</li>
        </ul>
    </div>
</body>
</html>


  • border 设置表格边框
  • border-collapse 设置表格的边框是否被折叠成一个单一的边框或者隔开
  • width 定义表格的宽度
  • text-align 表格中的文本对齐
  • padding 设置表格中的填充
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>网页标题</title>
    <style>
    #students {
        border-collapse: collapse;
        width: 100%;
    }
    #students td, #students th {
        border: 1px solid red;
        padding: 8px;
    }
    #customers th {
        text-align: left;
        color: white;
    }
</style>
</head>
<body>
    <table id="students">
        <tr>
            <th>Name</th>
            <th>Age</th>
            <th>Sex</th>
        </tr>
        <tr>
            <td>张三</td>
            <td>18</td>
            <td>男</td>
        </tr>
        <tr>
            <td>李四</td>
            <td>19</td>
            <td>男</td>
        </tr>
    </table>
</body>
</html>


  • static:没有定位,遵循正常的文档流对象
  • relative:相对定位,元素的定位是相对其正常位置
  • fixed:元素的位置相对于浏览器窗口是固定位置
  • absolute:绝对定位,元素的位置相对于最近的已定位父元素
  • sticky:粘性定位,基于用户的滚动位置来定位
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>网页标题</title>
    <style>
    div.static {
        position: static;
        border: 3px solid green;
    }
    div.relative {
        position: relative;
        left: 30px;
        border: 3px solid red;
    }
</style>
</head>
<body>
    <h1>定位</h1>
    <p>设置不同的定位方式</p>
    <div class="static">
        这个 div 元素设置正常文档流定位方式
    </div>
    <div class="relative">
        这个 div 元素设置相对定位
    </div>
</body>
</html>


盒子模型

所有 HTML 元素可以看作盒子,在 CSS 中,“box model”这一术语是用来设计和布局时使用。

CSS 盒模型本质上是一个盒子,封装周围的 HTML 元素。它包括:边距,边框,填充,和实际内容。

盒模型允许在其它元素和周围元素边框之间的空间放置元素。

  • Margin(外边距):清除边框外的区域,外边距是透明的。
  • Border(边框):围绕在内边距和内容外的边框。
  • Padding(内边距):清除内容周围的区域,内边距是透明的。
  • Content(内容):盒子的内容,显示文本和图像。

也就是说,当要指定元素的宽度和高度属性时,除了设置内容区域的宽度和高度,还可以添加内边距,边框和外边距。更多技术文章

相关文章
|
5月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
482 1
|
6月前
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
如何让AI更“聪明”?VLM模型的优化策略与测试方法全解析​
本文系统解析视觉语言模型(VLM)的核心机制、推理优化、评测方法与挑战。涵盖多模态对齐、KV Cache优化、性能测试及主流基准,助你全面掌握VLM技术前沿。建议点赞收藏,深入学习。
1544 8
|
5月前
|
人工智能 Java 测试技术
单元测试覆盖率的自动控制技术
Jacoco是Java程序覆盖率工具,可以在pom.xml通过配置来自动控制程序的覆盖率
142 5
|
6月前
|
人工智能 资源调度 jenkins
精准化回归测试:大厂实践与技术落地解析
在高频迭代时代,全量回归测试成本高、效率低,常导致关键 bug 漏测。精准化测试通过代码变更影响分析,智能筛选高价值用例,显著提升测试效率与缺陷捕获率,实现降本增效。已被阿里、京东、腾讯等大厂成功落地,成为质量保障的新趋势。
|
8月前
|
测试技术
软考软件评测师——可靠性测试测试方法
软件可靠性是指软件在规定条件和时间内完成预定功能的能力,受运行环境、软件规模、内部结构、开发方法及可靠性投入等因素影响。失效概率指软件运行中出现失效的可能性,可靠度为不发生失效的概率,平均无失效时间(MTTF)体现软件可靠程度。案例分析显示,嵌入式软件需满足高可靠性要求,如机载软件的可靠度需达99.99%以上,通过定量指标评估其是否达标。
|
8月前
|
安全 测试技术 持续交付
软考软件评测师——基于风险的测试技术
本文详细阐述了测试计划的核心要素与制定流程,涵盖测试范围界定、实施策略规划、资源配置及风险管理机制。通过风险识别方法论和评估模型,构建了完整的质量保障体系。同时,针对不同测试级别与类型提供具体配置建议,并提出技术选型原则与实施规范,确保测试活动高效有序开展,为项目成功奠定基础。内容结合实际经验,具有较强指导意义。
|
8月前
|
消息中间件 缓存 监控
性能测试怎么做?方法、流程与核心要点解析
本文系统阐述了性能测试的核心方法论、实施流程、问题定位优化及报告编写规范。涵盖五大测试类型(负载验证、极限压力、基准比对、持续稳定性、弹性扩展)与七项关键指标,详解各阶段任务如需求分析、场景设计和环境搭建,并提供常见瓶颈识别与优化实战案例。最后规范测试报告内容框架与数据可视化建议,为企业级实践提出建立基线库、自动化回归和全链路压测体系等建议,助力高效开展性能测试工作。
|
人工智能 自然语言处理 测试技术
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
AxBench 是由斯坦福大学推出,用于评估语言模型可解释性方法的基准测试框架,支持概念检测和模型转向任务,帮助研究者系统地比较不同控制技术的有效性。
336 5
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架

热门文章

最新文章