关于css控制div的缩放问题

html-css05

关于css控制div的缩放问题,第1张

比如,建立4个div,要实现宽度随窗口变化而变化很简单,把宽度设成百分比形式就可以了。

css这样写:

这样的话我们的div倒是可以随着窗口的变化进行宽度的缩放,但是高度是不变的,这样肯定不行,我们要达到按比例缩放的话高度肯定也是要写成百分比的。那么怎么写呢?直接写百分比么 height:21%这个就别想了,肯定不行的。

我们可以借用一个不常见的属性,padding-bottom属性。

从手册可以看到,当padding-bottom为百分比的值时,定义的是基于父元素宽度的百分比下内边距。

所以我们的css如果这样写:

我们就会得到一个和我们宽度相等的高度,而且我们的div会随着窗口大小的改变进行等比例的缩放。

但是这个方法有一个问题就是,手册上说我们用的padding-bottom的这个值

感觉像是个雷啊

今天就先到这里,感兴趣的小伙伴可以一起探讨探讨。

1、首先我们需要插入一张图片,并且图片只出现一次,并设计图片出现的位置在左上角,可以按照如下代码来完成:

<html>

<head>

<title>图片位置设置</title>

<style type="text/css">

body{

background-image:url("2.jpg")

background-attachment:scorll

background-repeat:no-repeat

background-position:top left

}

</style>

</head>

<body>

</body>

</html>

可以看到背景图片出现的位置在浏览器的左上角,这个和默认的设置是一样的。

2、我们需要让图片出现在上方的正中间,这里我就用代码来说明问题,具体详细代码如下:

<html>

<head>

<title>图片位置设置</title>

<style type="text/css">

body{

background-image:url("2.jpg")

background-attachment:scorll

background-repeat:no-repeat

background-position:top center

}

</style>

</head>

<body>

</body>

</html>

从下图的执行结果可以看到,我们的背景图片出现在了上方的正中间这个位置上了。

3、在上方的中间和左边都出现了,接下来设置图片出现在上方的右边,具体代码如下所示:

<html>

<head>

<title>图片位置设置</title>

<style type="text/css">

body{

background-image:url("2.jpg")

background-attachment:scorll

background-repeat:no-repeat

background-position:top right

}

</style>

</head>

<body>

</body>

</html>

可以看到如下图所示的执行效果图,图片出现的位置在上方的右边了。

4、如果需要图片出现的位置在正中间,我们知道设计网页的时候背景图片等等元素一般都是需要放在正中间这个位置上的,这里我就来分析下如何将背景图片放置在正中间这个位置上,具体代码如下:

<html>

<head>

<title>图片位置设置</title>

<style type="text/css">

body{

background-image:url("2.jpg")

background-attachment:scorll

background-repeat:no-repeat

background-position:center center

}

</style>

</head>

<body>

</body>

</html>

可以看到如下的执行结果,背景图片出现在了下方的正中间这个位置上了。

5、设置图片出现在背景图片的下方左边这个位置,下边用到了bottom这个属性值来设置的,具体代码如下:

<html>

<head>

<title>图片位置设置</title>

<style type="text/css">

body{

background-image:url("2.jpg")

background-attachment:scorll

background-repeat:no-repeat

background-position:bottom left

}

</style>

</head>

<body>

</body>

</html>

可以看到如下图所示的结果,

6、还可以设置背景图片出现的位置在最下方,可以看到如下代码:

<html>

<head>

<title>图片位置设置</title>

<style type="text/css">

body{

background-image:url("2.jpg")

background-attachment:scorll

background-repeat:no-repeat

background-position:bottom

}

</style>

</head>

<body>

</body>

</html>

通过如下图可以看到具体的执行效果,只用一个bottom就能设置图片出现在最下方这个位置上了。

7、用background-position设置图片的位置除了使用相对位置还能使用绝对位置来设置,可以设置像素值来确定背景图片左上角的坐标点来确定,具体代码如下:

<html>

<head>

<title>图片位置设置</title>

<style type="text/css">

body{

background-image:url("2.jpg")

background-attachment:scorll

background-repeat:no-repeat

background-position:150px 150px

}

</style>

</head>

<body>

</body>

</html>

从下图可以看到我们的执行结果,背景图片出现的位置是150px,150px这个点作为左上角的起始点。

ID名选择器

#con {

    border: 1px solid red

  }

代码解析:表示找到ID名为con的元素,并为元素设置1像素、实线、红色边框。

类名选择器

.con {

       border: 1px solid red

   }

代码解析:表示找到类名为con的元素,并为元素设置1像素、实线、红色边框。

标签选择器

div {

    border: 1px solid red

  }

代码解析:表示找到标签名为div的元素,并为元素设置1像素、实线、红色边框。

后代选择器

.con p {

    border: 1px solid red

  }

代码解析:表示找到为类名为con里的所有p元素,并为元素设置1像素、实线、红色边框。需要注意的是不单单是子代受到影响,所有的后代均会受到影响。

子代选择器

.con > p {

    border: 1px solid red

  }

代码解析:表示找到为类名为con里的子代p元素,并为元素设置1像素、实线、红色边框。需要注意的是只是子代受到影响,而非所有的后代均会受到影响。

群组选择器

.con p, .box {

    border: 1px solid red

  }

代码解析:表示找到为类名为con里的所有p元素,并为元素设置1像素、实线、红色边框;找到类名为box的元素,并为元素设置1像素、实线、红色边框;

常见的CSS选择器如上,还有伪类、属性、通配符选择器以及CSS3新增的大量选择器,可以查看《CSS选择器以及选择器优先级》