专栏首页Danny的专栏前端基础——CSS+DIV布局

前端基础——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 条评论
登录 后参与评论

相关文章

  • java过滤器——filter的使用和配置

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

    DannyHoo
  • 【J2SE快速进阶】——数组(及其内存分析 )

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

    DannyHoo
  • 浅谈ADO.NET中的对象——Connection、Command、DataReader、DataAdapter、DataSet、DataTable

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

    DannyHoo
  • 打卡群刷题总结0625——删除链表的倒数第N个节点

    链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list

    木又AI帮
  • 前端开发,关键技术点杂烩

    缓存:ETag Expire Last-Modified 三者合用,Expire 可以让浏览器完全不发起 Http 请求,若 F5 发起请求,也可以通过判断 E...

    用户5997198
  • 前端关键技术点杂烩,这些你必须知道

    这里总结一下 WEB 前端面试的常见问题,同时这些问题也是对一些基础的技术概念和思想的理解。对这些基本知识的掌握程度和深度决定了你的技术层级。高级工程师是必须掌...

    用户5997198
  • CSS选择器的详细介绍

    python鱼霸霸
  • CSS魔法堂:Position定位详解

    一、Position各属性值详解                       1.  static :默认值,元素将按照正常文档流规则排列。   2.  rel...

    ^_^肥仔John
  • 全栈第一步-CSS基础前言CSS基础总结

    作为一名后端狗,也有一个全栈梦。前端工程师第一步,CSS的基础得打好。本文仅用于记录上周学习CSS的过程,文中对于CSS知识点可能存在理解错误之处。

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

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

    sunseekers

扫码关注云+社区

领取腾讯云代金券