前端基础之网页布局基础(5)

网页布局

,division,划分、层,是网页布局的主要工具,使用div将网页划分为一块一块的区域,包括很多网站也是采用div进行区域划分的,比如Google,

前端基础之网页布局基础(5)_第1张图片
Google

表示的是div下id为lga的标签。

This is a div

布局相关的属性

常用属性有:

  • width / height
  • margin / padding
  • display
  • position
  • z-index*

主要是利用这几个属性来完成一般的网页布局。

padding / margin

padding:填充,指得是子元素与自己的距离(这里的自己指的是父元素,站在父元素的角度设置)
margin:边距,指得自己与外部元素的距离(这里的自己指得是子元素,外部元素也是指的子元素,站在子元素的角度设置)
可以根据DOM文档对象模型视图加以理解

  • paddingmargin

    
        
        Test0116
        
    
    
        
前端基础之网页布局基础(5)_第2张图片
效果图
  • 父元素有padding,无margin

    
        
        Test0116
        
    
    
        
前端基础之网页布局基础(5)_第3张图片
效果图
  • 子元素有margin,无padding

    
        
        Test0116
        
    
    
        
前端基础之网页布局基础(5)_第4张图片
效果图
  • 子元素有margin,父元素有padding

    
        
        Test0116
        
    
    
        
前端基础之网页布局基础(5)_第5张图片
image.png

更多组合就不再一一举例。需要注意的是,marginpadding是布局中几乎必用的元素,务必掌握牢固!

Box模型

Box模型又叫做盒模型,是网页布局的一个核心要点,打开开发者工具我们可以看到

前端基础之网页布局基础(5)_第6张图片
box模型

它包含一个标签的 marginborderpaddingcontent,这四个区域的大小。
我们先来看看box模型存在的意义


    
        
        Test0116
        
    
    
        
        
Java

图中有两个标签,分别是

前端基础之网页布局基础(5)_第13张图片
效果图

默认情况下,子元素是水平靠左对齐,竖直靠上对齐。

设置水平对齐

设置父容器的text-align属性,可以修改水平对齐,例如:


    
        
        Test0116
        
    
    
        

前端基础之网页布局基础(5)_第14张图片
水平居中

其中, center 居中left 靠左right 靠右

设置竖直对齐

竖直对齐分为两步:

  1. 指定父容器heightline-height为等高。
  2. 指定子元素vertical-align属性

例如:


    
        
        Test0116
        
    
    
        
前端基础之网页布局基础(5)_第15张图片
竖直对齐

需要注意的是,这里所说的对齐,是以父元素的文字基线(baseline)



下面我们来学习一下三种基本的 位置定位(position)。
position属性是实现复杂布局的有效手段,position属性有四种选项,分别是
position:static默认值
position:relative 相对位置
position:absolute 绝对位置
position:fixed 固定位置

默认位置定位position:static

默认值为static。默认地,按各个

出现的顺序依次布局
注:这个顺序称为 正常文档流 (Normal Flow)


    
        
        Test0116
        
    
    
        
1
2
3
前端基础之网页布局基础(5)_第16张图片
默认显示效果
相对位置定位position:relative

相对定位,一般要同时指定偏移位置

  • 相对于原本的正常位置,添加偏移,偏移由left/top/right/bottom属性指定
  • 没有脱离Normal Flow,该占的位置还是占着

注意:相对定位,并不是相对于父元素,而是相对于自己原有的正常位置


    
        
        Test0116
        
    
    
        
1
2
3

前端基础之网页布局基础(5)_第17张图片
相对定位效果

通过观察可以发现,原有的位置依然在,说明没有脱离正常文档流。还有一点需要说明的时候,偏移值可以设置为负值,如 left:-50px;

绝对位置定位position:absolute

绝对定位,一般要同时指定偏移位置

  • 相对于谁?向上找父级或父级的父级,第一个由position:absolut / position:relative属性的
  • 通常都是给父元素添加relative属性
  • 脱离了正常文档流,原来的位置被后来者挤占

    
        
        Test0116
        
    
    
        
1
2
3

前端基础之网页布局基础(5)_第18张图片
绝对位置定位

通过观察我们可以发现,偏移元素的位置被后来的元素所占据,这说明的确脱离了正常文档流。
需要注意的是,需给父元素添加 position,并且通常添加 position:relative,以便可以根据父元素进行定位。如果不添加的话,通常是相对于窗口进行偏移,结果会超乎想象。

固定位置定位position:fixed

固定定位,一般要同时指定偏移位置

  • 相对于谁?相对于浏览器窗口
  • 脱离了Normal Flow
  • 通常于z-index联用,可以调整不同悬浮窗口的优先级显示,防止被其他div遮盖

    
        
        Test0116
        
    
    
        
1
2
3
前端基础之网页布局基础(5)_第19张图片
固定位置定位

小结

通常使用绝对位置定位和固定位置定位,而relative很少独立使用,通常使用绝对位置定位的时候,伴随absolute一并出现,relative给父元素设定,absolute给子元素设定。而fixed主要用于实现悬浮窗口

你可能感兴趣的:(前端基础之网页布局基础(5))