web页面布局中的定位与浮动

一.网页布局是网页制作的基础

(1)流式布局,即元素按照标准文档流进行排列;

(2)浮动布局

(3)绝对(相对)定位布局。

常见的布局结构分为:一列布局,两列布局,三列布局和混合布局,其中使用最多的是混合布局,即按照网站的实际需求使用多列进行布局。

二.页面布局原则
       了解网页的布局原则,有助于设计出美观有序的页面。在网页设计中布局原则主要有整体性、对比性和均衡性三方面,具体介绍如下

1. 整体性

整体性是指设计元素的整体与统一。整体统一的布局指页面上不同元素相互影响如同一个整体,页面中所有按钮等控件元素都应该保持一致。对于网页重复出现的形尺寸、色彩都是一个有机联系的整体。把页面元素组织起来形成组块,让页面更加整体有利于统一版面布局的风格。

2. 对比性

网页是由很多元素构成的,这些元素的重要性各不相同。有些内容元素需要重点突出,此时就需要通过对比,创造出视觉趣味性,同时引导用户的注意力。对比包含色对比、字体字号对比、区块面积大小对比等。

3. 均衡性

网页中的均衡是指页面上文字、形状、色彩等因素在视觉上的平衡。视觉平衡分为对称平衡和不对称平衡。网页中各个元素是有重量的,如果达到对称平衡,页面则显得宁静稳重。为了在页面中添加趣味性,可以选择不对称平衡。

三.浮动与定位

浮动

1 首先了解把块元素放在一行内?

使用行内块元素会产生 空隙

2 如何实现两个盒子左右对齐?

总结:有很多布局效果,标准流没有办法完成,此时利用浮动完成布局

浮动能改变标签的默认排列方式

实际应用:

浮动元素经常搭配父级标准流,目的是限制浮动元素位置

先用标准流的父元素排列上下,之后内部子元素采取浮动排列左右

清除浮动?

也不是真正意义上的清除,而是限制浮动子元素

1 )父元素不方便给高度(不知道子元素多少)

2 )父元素高度设置为0的话,会被其他标准流父元素挤上去

操作:给父级添加overflow属性,值设置为hidden.

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .one {
            width: 200px;
            height: 200px;
            background-color: red;
            float: left;

        }

        .two {
            width: 200px;
            height: 200px;
            background-color: blue;
            float: left;
        }

        .three {
            width: 200px;
            height: 200px;
            background-color: green;
            float: left;

        }

        ul {
            list-style: none;
        }

        li {
            float: left;
            margin-left: 20px;
        }

        span {
            width: 200px;
            height: 200px;
            background-color: #ccc;
            float: left;
        }

        div {
            height: 200px;
            background-color: blue;
            float: left;
        }
    </style>
</head>

<body>
    <!-- 文档流 -->

    <!-- 浮动产生的特性 -->
    <!-- 行内元素 无法设置宽高
    在设置浮动以后,会拥有行内块的特性, 可以设置宽度和高度
    -->


    <!-- 块级元素
    在设置浮动之后,原本独占一行的特性也消失,根据自身内容大小来占据位置
    -->

    <!-- 行内块的特性
    1.可以设置宽度和高度
    2.会并排显示
    3.所占区域大小根据自身内容大小决定
    -->
    <span>行内-span标签</span>
    <div>块级元素</div>


    <!-- 1.浮动会遮盖住下面的元素,但是不会遮盖住文字内容 -->
    <!-- <div class="one">one</div>
    <div class="two">two</div>
    <div class="three">three</div> -->

    <!-- <ul>
        <li>促销</li>
        <li>家电</li>
        <li>食品</li>
    </ul> -->

    <!-- 清除浮动 -->
    <!-- 方法一:overflow:hidden -->
    <!-- 方法二:额外标签法 -->
    <!-- 方法三:伪元素清除浮动 -->
</body>

</html>

定位

定位:就是将盒子定在某一个位置,所以定位也是在摆放盒子,按照定位的方式移动盒子

定位 = 定位模式 + 边偏移

定位模式用于指定一个元素在文档中的定位方式,边偏移则决定了该元素的最终位置

1 . 定位模式

static静态定位
relative相对定位
absolute绝对定位
fixed固定定位

这里部分定位给予演示

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body {
            height: 1500px;
        }
        .one {
            width: 100px;
            height: 100px;
            background-color: #ccc;
        }
        .two {
            width: 100px;
            height: 100px;
            background-color: red;
            position: sticky;
            top: 10px;
        }
        .three {
            width: 100px;
            height: 100px;
            background-color: blue;
        }

        /* .main {
            background-color: #ccc;
            width: 400px;
            height: 400px;
            margin: 0 auto;
            overflow: hidden;
        } */
        .second {
            background-color: rgb(249, 156, 156);
            width: 200px;
            height: 200px;
            margin: 0 auto;
            margin-top: 100px;
            position: relative;
        }
        .move {
            background-color: rgb(88, 239, 186);
            width: 100px;
            height: 100px;
            margin: 0 auto;
            position: absolute;
            top: 50px;
            left: 50px;
        }
    </style>
</head>

<body>

    <!-- 定位的特性 -->

    <!-- 相对定位 -->

    <!-- 绝对定位 -->
    <!-- <div class="main">
        <div class="second">
            <div class="move">这是绝对定位的盒子</div>
        </div>
    </div> -->
    <!-- 固定定位 -->
    <!-- 粘性定位 -->
    <div class="main">
        <div class="one"></div>
        <div class="two"></div>
        <div class="three"></div>
    </div>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值