技术分享 | 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(内容):盒子的内容,显示文本和图像。

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

相关文章
|
19天前
|
前端开发 JavaScript 关系型数据库
从前端到后端:构建现代化Web应用的技术探索
在当今互联网时代,Web应用的开发已成为了各行各业不可或缺的一部分。从前端到后端,这篇文章将带你深入探索如何构建现代化的Web应用。我们将介绍多种技术,包括前端开发、后端开发以及各种编程语言(如Java、Python、C、PHP、Go)和数据库,帮助你了解如何利用这些技术构建出高效、安全和可扩展的Web应用。
|
3天前
|
测试技术 API Python
Appium控件交互策略:优化自动化测试效率的关键方法
该文介绍了如何使用Selenium与APP进行交互,包括点击、输入和状态判断等操作。例如,通过element.click()点击控件,element.send_keys()输入文本,以及element.is_displayed()检查元素是否可见。还展示了如何获取元素属性,如resource-id、text和class,并提供了Python代码示例来定位并操作APP元素,如滑动条的显示、可点击性检测及点击滑动条中心位置。在编写测试脚本时,应注意元素定位和状态验证以确保测试稳定性。
11 1
|
3天前
|
前端开发 JavaScript UED
Web前端开发:探索技术与艺术的交融
Web前端开发:探索技术与艺术的交融
8 1
|
4天前
|
设计模式 存储 前端开发
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
|
4天前
|
API 开发者
免费邮箱API发送邮件测试调试的方法和步骤
本文介绍了使用免费邮箱API如aoksend、Mailgun、SMTP2GO发送邮件的测试调试步骤:选择合适的API,获取访问密钥,配置邮件参数,编写测试代码,调试和测试,查看发送日志,以及优化改进邮件发送功能,确保其稳定运行。
|
13天前
|
前端开发 搜索推荐 数据安全/隐私保护
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
20 1
|
13天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
|
19天前
|
自然语言处理 测试技术 持续交付
现代软件测试方法与挑战
传统软件测试方法在当前快速发展的软件开发环境下面临着诸多挑战,因此,现代软件测试方法的探索与应用显得尤为重要。本文将介绍几种现代软件测试方法,并探讨其在应对软件开发挑战方面的作用。
10 0
|
21天前
|
安全 测试技术
深入理解白盒测试:方法、工具与实践
【4月更文挑战第7天】 在软件开发的质量控制过程中,白盒测试是确保代码逻辑正确性的关键步骤。不同于黑盒测试关注于功能和系统的外部行为,白盒测试深入到程序内部,检验程序结构和内部逻辑的正确性。本文将探讨白盒测试的核心技术,包括控制流测试、数据流测试以及静态分析等方法,同时介绍当前流行的白盒测试工具,并讨论如何在实际项目中有效实施白盒测试。文章的目标是为软件测试工程师提供一份综合性指南,帮助他们更好地理解和应用白盒测试技术。
|
1月前
|
传感器 监控 算法
【软件设计师备考 专题 】模块测试的方法和实践
【软件设计师备考 专题 】模块测试的方法和实践
73 0