静态页面制作:13padding的用法

    这一节我们来说说留白

    留白有什么用?padding到底有什么用,我们在分析之前,先回顾一下我们之前遇到的那几层结构。

    在结构中我们有边距、边框和留白,在这里我们提出一个问题,

    就是一个元素的宽度和高度边界到底在哪里?

    我们通过图片为大家展示:

    我们在这里直接告诉大家,一个元素的宽度就等于内容宽度+左右留白,

    一个元素的高度就等于内容高度+上下留白。

    虽然公式很简单,但有句话说越简单的公式其中越有料。

    有什么料呢?我们通过一个例子来看看这个公式能有什么作用?

    假设我们有一个div,然后宽度是100,高度是960,这整个div区域都可以写内容。

    如果我们套用刚刚说的公式就如下:

    元素宽度是已经设定好的960等于内容宽度+左右留白。

    现在的内容宽度是960,然后左右留白是0.这样一算,元素的总宽度就出来了。

    元素高度的算法是一样的。

    如果我们为div设定一些留白padding,我们来看看会变成什么样?

    先宽度总数并没有改变,但是由于有了左右留白共计40像素,

    这时候的内容宽度就变小了,由于上下也有了留白,所以内容的高度也变小了。

    这是怎么回事呢?就是在我们给div已经设置好宽度之后,

    在设置padding的话,就会压缩内容宽度和内容高度。

    现在我们在把上一节讲到margin最后的一个例子重现一下。

    当时我们说紧靠浏览器上边缘的元素,

    比如说div中的第一个子元素课后帮设置margin-top的话,

    他就连带div也一同顶下来,并没有跟随我们预期的效果。

    对于这种情况,我们也进行了分析,就是我们换个角度思考,

    我们认为是div容器的上边缘的部分就是不想有内容。我们来看看怎么做。

    元素宽度等于内容宽度加上左右留白,元素高度等于内容高度加上上下留白。

    此时我们希望课后帮在不连带div的基础上,向下挪一点。这个问题怎么解决。

    其实呢,宽度我们可以不动,而高度上我们可以给div设定一个上部的留白,

    由于元素高度已经设定,所以设置padding的时候,就会压缩内容高度,

    这样一减,内容高度就变小了。也就相当于把课后帮这几个字往下挪了20像素,

    同时div的这个区域并没有发生任何变化。

    这个就是padding的第一个作用

    就是宽度高度已设定的时候,padding可以改变内部元素的位置,

    我们在回到刚刚写过的公式

    我们说这个简单的公式很有料,所以我们换一个角度在来看看。

    假设、如果我们现在遇到的是inline元素,由于他的特性,无法设定高度和宽度,

    宽度和告诉完全取决于课后帮这几个字。那么我们在来套用一下公式。

    课后帮此时的宽度和高度是不可以设定的,也就是说此时课后帮的宽度和高度完全是算出来的。

    怎么算的呢,就是由内容宽度加上左右留白,就是宽度。由内容高度加上上下留白就是高度。

    可想而知,如果我们给inline元素课后帮上下左右留白都设置10像素的话,会发生什么情况呢?

    左右留白都是10,那么一共就是20像素,但是内容的宽度没变,结果就是整体的宽度变大了。高度也一样!

    那么padd的第二个作用就出来了,就是在宽度高度未设定的时候,padding可以撑大元素。

    我们总结一下padding的两个作用。

    

    一个是在宽度高度未设定的时候,可以撑大元素

    一个是在宽度高度已设定的时候,改变内部元素的位置

    这两个效果并不是互斥的,这两个效果可以同时发生。

    怎么个同时发生法呢,其实是在不同的方向上发生这两个效果。

    方向一就是,在高度未设定的时候,就可以撑大本元素的高度。

    方向二就是,在宽度已设定的时候,就能改变内部元素的位置。

    我们仍然用例子分析:

    比如说有一个div,然后里面放了一个课后帮这么一个行内元素,

    此时的宽度是设定好的960,内容宽度就是算出来的值,960减去留白就是内容宽度。

    然而div的高度是未设定的,所以他的值是由内容高度加上上下留白,也就是12+0=12。

    那如果我们此时给他设定左右留白和上下留白会发生什么事情呢?

    就会发生这么个情况:

    

    首先说宽度,由于宽度已经设定了,那么在加上留白20像素,那就会压缩内容的宽度。

    也就是由原来的960-20就等于内容的宽度940。其实相当于改变了课后帮在水平方向的一个位置。

    再来说高度,由于高度是没有设定的,此时的高度是由内容撑开的,我们设定了上下留白,

    留白部分就从0变到了20,留白有了20在加上内容的高度12,那么此时的高度就变成32了,

    这样的话其实相当于改变了课后帮在垂直方向的一个位置。

    我们总结一下:

    两点

    

    1.横向上,压缩了内容区域,改变了内容元素的位置。

    2.纵向上,撑大了元素,其实也相应的改变了内部元素的位置。

时间: 2024-10-09 15:07:27

静态页面制作:13padding的用法的相关文章

微享商盟系统功能与小程序开发方案(静态页面制作)

在平时开发程序的过程中,自己经常会写一些控制台小程序进行测试某个功能,事后我们会寻找这些小程序,如果不仔细管理,经常会找不到.由于每个控制台小程序都有自己独立的 Main方法,所以我们不能把他们都放在一个Solution里面,这样在编译整个项目的时候会通不过,但是又不想为每个小程序都单独建立一个项目,这样又太浪费,因为每个都是一个非常简单的代码文件.微享商盟小程序制作流程是怎样,下面会一一给大家详解! 微享商盟系统开发找:张丽185*6541*3369(微电)微享商盟小程序模式定制,微享商盟排队

用phpcms如何将静态页面制作成企业网站(下)

上篇讲到了子页部分 这样的 有分页选择 列表项的代码部分 最后输出变量pages就可以了 看一下运行的效果 点击下一页 再来改一下子页显示的样式 点击人才将会出来的一个子页面 路径要统一 再来更改后台管理的设置 运行后点击人才 再来看如何更改内容页 点开,里面的内容就是内容页 静态页面的内容页是这样的 把静态的内容页面放入content文件中,内容页的名字是show.html 然后刷新页面,再点击内容页就是这样的一个页面了 说明这个模板已经成功拿进来了,但是现在还是静态页面,现在要把他改成动态的

用phpcms如何将静态页面制作成企业网站,头部加尾部

首先,先要准备好这个静态网页的源文件,如图 bs里面是一些css和js的文件,img则是放图片的,文件中的index是网页的首页 运行一下,看看 是这样的 然后打开phpcms文件,上篇博客中有提到,把首页的文件index要放到指定的文件夹下 放到这个路径下 然后运行一下,看看效果 网页中没有了图片和样式表,接下来就是把它的图片和样式表放到指定的文件夹中,把图片放到images文件夹里,如图 bs里面有js文件也有css文件,所以,把它放在css和js文件任何一个都可以.如图 第一步做的就完成了

静态页面制作:6HTML布局(基线的应用)

我们首先来看看现在的理想和现实. 虽然我们现在现实还没有达到理想的效果,但现在至少我们已经明白为什么课后帮和HWHelper为什么不在一行了,为什么呢?那就是因为他们都是块元素.那么有没有什么办法让这两个元素编程行内元素,一旦成为行内元素,他们不就跑到一行去了吗.所以我们来看看方法一. 方法一就是使用行内元素,行内元素可以摆在一行,我们现在明确的知道,h1标签和p标签他们都是块元素,所以我们该用哪个元素呢? 我们接触过的行内元素就是a标签,我们是否可以使用a标签来解决这个问题呢?其实a标签是不合

静态页面制作:5HTML布局

上节课我们大概是得到了下图的一个效果,课后帮和HomeWorkHelper分别获得了带下以及样式.但是他们俩实际上是分在两行的. 我们来看一下理想与现实的一个对比. 我们看到现实与理想之间还是有一定差距的.我们的理想效果是课后帮与HWHelper是在一行,但现实情况却是在两行.我们期望的效果是在一行并且HWHelper在课后帮的右上角.其实实现这个效果并不难,我们先来对现在的情况进行一些分析. 我们想要将两行文字合为一行,会通过两种方式来实现,我们从这两种方式中管中窥豹来了解网页是如何布局的.我

静态页面制作:1HTML的基本认知

有一句名言,Talk is cheap,show me the code.这句话无论放到那里都非常合适 我们也废话少说,首先给大家展示一下我们PC端最终实现的效果. 上面的网页很简单,但也很完整.麻雀虽小,但五脏俱全. 我们可以通过这个案例,将HTML5+CSS3中主要的功能以及响应式布局全都掌握. 我们期望通过8天的时间,让大家可以: 网页入门知识 我们都上过各种网站,百度.谷歌.新浪.facebook等等.这些网站看着很庞大,像是一个整体.但其实他们是由一些很小的部分构成的. 我们说九层之台

静态页面制作:9标题栏—样式的重复利用

.paragraph { width: 80%; margin: 50px auto; color: #666; font-size: 20px; text-align: left; line-height: 200%; padding: 30px } 首先我们来看一下现在所做到的效果以及我们的理想效果. 我们发现标签栏的左上角的部分,我们已经完成了. 在标题栏这一层,还有右上角的部分需要我们完成.其实完成这部分就很容易了,我们来到sublime中实现以下. 其实右上角的内容是可以被点击的,所以

静态页面制作:8HTML浮动腾挪概念(铺垫二:图文混排)

.paragraph { width: 80%; margin: 50px auto; color: #666; font-size: 20px; text-align: left; line-height: 200%; padding: 30px } 现在那我们来说说第二个铺垫. 第二个铺垫叫做图文混排.什么是图文混排呢,这个东西我们还需要花些时间来分析一下的.首先看下图: 其实上图就是一个例子,然而这个例子其实在我们浏览网页,或者看一些微博.博客等文章时,我们发现这种格式很常见.这种有内容.

静态页面制作:16结构与表现分离

我们的标题栏已经功德圆满了,下面我们就继续往下做广告栏.我们在正式做广告栏这部分之前,仍然先来分析,看看如何规划比较好. 对于广告栏的布局,每个人的想法可能都会有些不一样,但这里我们就用最朴素最简洁的方法. 什么是最朴素最简洁的方法呢,我们就通过现象看本质.首先我们根据颜色判定广告栏的位置和大小,那这里肯定是需要一个div来进行划分区域了. 然后我们看在这个div中都有哪些元素,我们打眼一看里面有四个元素 第一个是最左边有很大的web这三个字母,这属于是一小段文字了,其实我们就可以使用span标