前端基础——CSS+DIV布局

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/40559403

       随便打开一个网页,按下F12,你会发现一堆密密麻麻的“DIV”,没错,现在大部分的网页都用了CSS+DIV的布局方式。

       上篇说了盒子模型,这里就以盒子模型为基础来简单了解一下常用的一种网页布局的方式:CSS+DIV布局。

       CSS+DIV布局,就是在整体上用<div>标记把页面分为若干个块,然后对各个<div>块进行CSS定位,最后再在各个块中添加相应内容。

       就如建造一座钢结构的建筑物似的,先把整个网页的框架搭建起来,再分别对局部进行细化,这里<div>就如同钢筋,负责搭建框架,CSS就相当于搭建的规则,按照一定的规则(即业务需求)把钢筋焊接起来。

        那么我们就把网页布局想象成一个盖这座建筑物的过程,这里把它分为两个步骤:

        1、选择材料,要对需要用到的钢筋有所了解,即了解DIV

        之前有个朋友问过我:“盒子模型是什么,是DIV吗?” 我否决了他,在笔者看来,网页里的许多元素,都可以看做是一个“盒子”,比如p、h1、form、div、span、table、tr、td等等,他们都有margin、border、padding属性。

        只不过我们在搭建整体的网页布局时,一般用DIV来充当上例中“钢筋”的角色。

        盒子模型是DIV+CSS的基础,也是关键。简单来说,盒子模型的核心就在那些“盒子”的margin、border、padding这几个属性上,想要布局出合理漂亮的网页,这是基本功。

        2、对材料进行切割、焊接

        了解了DIV及盒子模型等基础知识后,就要对这些材料进行切割(设计不同大小的DIV)并焊接(用CSS定位相应的DIV)。     

        切割不用多说,就是画出DIV并用CSS规定其大小形状(即margin、border、padding的值)。

        这里的重点是焊接,焊接时需要挑选大小不一的DIV块,进行合理的摆放,也就是所说的DIV定位,包括对DIV的position、float、z-index属性的设置。

        position属性:四个属性值分别为static、absolute、relative、fixed,下表是W3C对这几个属性值的说明:

描述

static

默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。

inherit

规定应该从父元素继承 position 属性的值。

absolute

生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

relative

生成相对定位的元素,相对于其正常位置进行定位。 因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。

fixed

生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 "left",  "top", "right" 以及 "bottom" 属性进行规定。

        一般情况下,当元素的position属性值为absolute或fixed时,它就不再受父元素的约束,只根据到页面的left、top、right和bottom的值来定位。

  float属性,有left、right、none、inherit四个属性值:

描述

none

默认值。元素不浮动,并会显示在其在文本中出现的位置。

inherit

规定应该从父元素继承 float 属性的值。

left

元素向左浮动。

right

元素向右浮动。

  细节不再多说,不清楚的同学可以自己做几个小例子动手实践一下,或者到W3School上实践一下,这里有丰富的web教程和一些可以在线练习的小例子。

    float在这里是难点也是重点,希望读者熟练掌握。

  z-index属性:

        z-index的值可以为任意整数值,可以为正数也可以为负数,代表着元素“显示的优先级”,值越大,显示的优先级越高。两张简单的图片足以说明:

        这两幅图片,第一幅图片中三个div的z-index值分别为:A<B<C;第一幅图片中三个div的z-index值分别为:A>B>C。

        这些都只是CSS+DIV布局最基础的知识,想要真正吃透,还需要不断练习,体会布局的一些小技巧。比如对margin使用负值就是一个很实用的小技巧,假如想让container固定宽度居中显示(假设container宽度为700px),则可以对container采用relative的定位方法,left值为页面的50%,再设置margin-left为自己宽度的一半,这样,无论在哪种分辨率的浏览器中显示效果都是固定宽度且居中,如下图:

        当页面中的内容显示不够多时,如何让最底部的footer(版权注册部分)永远保持在最底部,也可以用对margin设置负值的方法来实现。

       多多地积累吧,期待与您共同成长。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏从零开始学 Web 前端

CSS学习笔记(基础篇)

CSS 指层叠样式表 (Cascading Style Sheets)(级联样式表)

17130
来自专栏非著名程序员

基础篇章:React Native之Flexbox的讲解(Height and Width)

(友情提示:RN学习,从最基础的开始,大家不要嫌弃太基础,会的同学请自行略过,希望不要耽误已经会的同学的宝贵时间) 今天在讲解Flexbox之前,我们先讲解一下...

23070
来自专栏Nian糕的私人厨房

CSS Flex弹性盒布局

我在上一篇博文CSS 布局_2 Flex弹性盒里,对 Flex 弹性盒有着详细的介绍,这里就不再复述了,书写页面前,我们先来介绍一个之前没提到的知识点——伪类选...

15450
来自专栏互联网杂技

box布局

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style>...

28270
来自专栏我和我大前端的故事

我不知道你知不知道我知道的伪元素小技巧

伪元素能做什么?我们要他有何用?它能为我们解决什么问题?和其他的方法相比她有什么有点?我们为什么要使用它?

11720
来自专栏编程

前端学习自学笔记:day02

今天是第二天的学习内容笔记,我一般无事都会一直更新下去,直到我前端学的差不多了,我到时候才会转学其他语言,如果在学习中有什么发现,我都会分享上来. ? 在此之前...

213100
来自专栏向治洪

html5 jqueryrotate插件实现旋转动画

CSS3 提供了多种变形效果,比如矩阵变形、位移、缩放、旋转和倾斜等等,让页面更加生动活泼有趣,不再一动不动。然后 IE10 以下版本的浏览器不支持 CSS3...

43760
来自专栏Sign

web版《合成10》制作过程

《合成10》是一个很容易上瘾的游戏。 之前尝试的写了个网页版,游戏地址 ccx01.com/game/get10/ 现在写一下网页版合成10的制作过程。 这个游...

356120
来自专栏coding for love

CSS常用布局实现01-水平居中

居中是我们平常遇到的很常见的一种布局方式,主要分为水平居中,垂直居中,水平垂直居中。每种情况又分为,已知宽度,不知宽度,对块级元素居中,对行内替换元素水平居中,...

12210
来自专栏企鹅号快讯

Web前端:浅析“HTML+CSS的基本应用”

Hyper Text Markup Language,简称HTML,超文本标记语言,因页面中可以包含图片、链接、音乐、程序等非文本元素,所以称为超文本。 ? H...

249100

扫码关注云+社区

领取腾讯云代金券