【CSS笔记】CSS修饰表格、表单、CSS重排和重绘

有目标就不怕路远。年轻人.无论你现在身在何方.重要的是你将要向何处去。只有明确的目标才能助你成功。没有目标的航船.任何方向的风对他来说都是逆风。因此,再遥远的旅程,只要有目标.就不怕路远。没有目标,哪来的劲头?一车尔尼雷夫斯基

导读:本篇文章讲解 【CSS笔记】CSS修饰表格、表单、CSS重排和重绘,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

目录

一、CSS修饰表格

1.1、CSS表格属性

(1)边框

(2)宽度和高度

(3)对齐方式

二、CSS修饰表单

2.1、CSS表单

三、CSS重排和重绘

3.1、HTML渲染过程

3.2、重排和重绘


一、CSS修饰表格

1.1、CSS表格属性

(1)边框

通过【border】属性设置表格的边框,边框设置时候,一般会给:【table、th、td】设置边框。

  • table标签设置边框。

给table标签设置边框,是设置的表格最外层的边框,如下所示:

【CSS笔记】CSS修饰表格、表单、CSS重排和重绘

  • th标签设置边框,td标签设置边框。

th、td标签设置边框,这个时候会将每一个th、td标签添加边框,并且每个th、td标签边框直接存在间隙,如下所示:

【CSS笔记】CSS修饰表格、表单、CSS重排和重绘

 当给【table、th、td】边框同时设置边框,效果如下所示:

【CSS笔记】CSS修饰表格、表单、CSS重排和重绘

  • 【border-collspse】属性调整边框间距。

上面表格的边框之间存在间距,非常不好看,CSS可以通过【border-collapse】属性取消边框的间距,只要属性取值:【collapse】即可。

<style>
    table {
         border-collapse: collapse;
    }
</style>

效果如下所示:

【CSS笔记】CSS修饰表格、表单、CSS重排和重绘

(2)宽度和高度

通过给【table、th、tr、td】标签设置宽度、高度。table设置整个表格的宽度、高度;th设置表头的宽度、高度;tr设置一行的宽度、高度;td设置单元格的宽度、高度。

(3)对齐方式

文本水平方向对齐方式:【text-align】属性,取值:left、center、right。

文本垂直方向对齐方式:【vertical-align】属性,取值:top、middle、bottom。

二、CSS修饰表单

2.1、CSS表单

运行效果:

【CSS笔记】CSS修饰表格、表单、CSS重排和重绘

案例代码:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>表单</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        form {
            width: 600px;
            padding: 20px;
            margin: 50px;
            border: 3px solid blue;
            border-radius: 15px;
        }

        form>label {
            display: block;
            margin-bottom: 20px;
        }

        form>label>span {
            display: inline-block;
            width: 95px;
            text-align: right;
        }

        form>label>input {
            padding: 5px 10px;
        }

        form>input[type=button],
        form>input[type=reset] {
            width: 130px;
            height: 30px;
            font-size: 16px;
            cursor: pointer;
            color: #fff;
            border: none;
        }
        form > input[type=button] {
            background-color: lightgreen;
        }
        form > input[type=reset] {
            background-color: orange;
        }
    </style>
</head>

<body>
    <form action="#">
        <label>
            <span>姓名: </span>
            <input type="text">
        </label>
        <label>
            <span>年龄: </span>
            <input type="text">
        </label>
        <label>
            <span>手机号: </span>
            <input type="text">
        </label>
        <label>
            <span>QQ: </span>
            <input type="text">
        </label>
        <input type="button" value="确定提交">
        <input type="reset" value="垂直">
    </form>
</body>

</html>

三、CSS重排和重绘

3.1、HTML渲染过程

浏览器在渲染一个HTML页面的时候,首先浏览器会获取到HTML使用标签,并且将这些标签组成一个HTML标签树,这个时候这些标签还没有样式,浏览器又会解析CSS文件,产生一个CSS样式树,接着浏览器将HTML标签树和CSS样式树进行对比组合,将样式和标签组合成一个render渲染树,最终浏览器根据render渲染树,开始一点一点的渲染出页面效果。

【CSS笔记】CSS修饰表格、表单、CSS重排和重绘

浏览器将HTML树和CSS树组合成一个render渲染树。

【CSS笔记】CSS修饰表格、表单、CSS重排和重绘

最终浏览器通过render渲染树,一点一点的渲染HTML页面。

3.2、重排和重绘

一个HTML页面在渲染完成之后,如果在使用的时候,动态的修改了页面某些内容,那么这个时候就会触发重新排列和重新绘制的过程。

当浏览器将一个HTML页面渲染完成之后,如果我们动态的修改了页面中某些结点结构,例如:结点的宽度、高度、边距之类的,这就可能导致元素后面的结点都受到影响,那么这个时候,浏览器就需要重新排列这些结点在HTML树和CSS树,重新生成一个render渲染树,这个过程就叫做重排。

当我们只修改了页面结点的部分外观样式,例如:颜色,那么这个时候,就会触发重绘,也就是重新绘制改变样式的结点,这个过程只会修改有过改变的结点,而不会重新生成一个render渲染树。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/134677.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!