css : 圣杯布局的margin-left百分比:-100%

一、准备


<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        .cleanfix {
            clear: both;
        }

        .cleanfix:after {
            content: '.';
            clear: both;
            display: block;
            visibility: hidden;
            height: 0;
            zoom: 1;
        }

        .head, .foot {
            width: 100%;
            height: 80px;
        }

        .head {
            background-color: #4eb5f7;
        }

        .foot {
            background-color: #999999;
        }

        .left, .right, .main {
            float: left;
        }

        .left {
            width: 40px;
            height: 60px;
            background-color: #B9E078;
            /*margin-left: -100%;*/
        }

        .right {
            width: 60px;
            height: 80px;
            background-color: #FF9900;
            /*margin-left: -60px;*/
        }

        .main {
            background-color: crimson;
            width: 100%;
        }

        .content {
            padding: 0 60px 0 40px;
        }

        .left {
            /*position: relative;*/
            /*left: -40px;*/
        }

        .right {
            /*position: relative;*/
            /*right: -60px;*/
        }
    </style>
</head>
<body>
<div class="head">head</div>
<div class="content cleanfix">
    <div class="main">main</div>
    <div class="left">left</div>
    <div class="right">right</div>
</div>
<div class="foot">foot</div>
</body>
</html>

在这里插入图片描述

二、设置left

margin-left 百分比-20%
在这里插入图片描述
margin-left 百分比-50%
在这里插入图片描述
margin-left 百分比-80%
在这里插入图片描述margin-left 百分比-100% : 可见移动了父容器的一个宽度

在这里插入图片描述再相对left自己移动父容器的paddingleft宽度即可完成left
在这里插入图片描述

设置right

margin-left:60px

在这里插入图片描述
margin-left:-60px
在这里插入图片描述再相对right自己移动父容器的paddingright宽度即可完成right
在这里插入图片描述

注意: 操作left和right的布局时,main布局宽高不变,left和right可能会覆盖main

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: margin-leftleft都是控制元素的位置的CSS属性。 margin-left是指元素的左外边距(margin),它可以通过设置像素值、百分比或auto来控制元素在左边距离其父元素或前面元素的距离。 而left则是指元素相对于其定位父元素(position属性为relative、absolute或fixed的父元素)左侧的距离,可以通过设置像素值、百分比和负值来控制元素的位置。 简单来说,margin-left是元素左侧与其他元素之间的距离,而left是元素相对于父元素左侧的距离。 ### 回答2: margin-leftleftCSS属性中比较常用的两个,它们的设置都是控制HTML元素的水平位置,但在实际使用中有着各自的特点和区别。 左边距(margin-left)是外边距属性之一,用于控制HTML标签左侧的空白区域,即元素周围的额外空间,它可以为正数、负数或零。当设置为正数时,元素向右移动,留下左侧的空白区域;当设置为负数时,元素向左移动,超出父元素;当设置为零时,元素不会在水平方向上有边距。常见的使用方式为设置margin-left:auto和margin-left:0进行居中和左对齐的操作。 相反,左定位(left)是定位属性之一,用于控制HTML元素相对于其父元素左边框的位置。与左边距不同的是,它必须与定位属性一起使用(如position:absolute或position:relative),且不会影响元素周围的空白区域。而且,left的值可以为负值,移动元素相对于其父元素的位置,类似于相对定位的效果。常见的使用方式为left:0;实现元素左对齐。 总的来说,margin-leftleft虽然都是控制元素水平方向位置的属性,但主要的区别在于margin-left是调整边距,而left是控制定位。因此,在使用时需要根据具体情况进行选择使用。 ### 回答3: margin-leftleft都是CSS中的盒子模型属性,但它们的作用是不同的。 首先,left属性应用于定位元素(position属性值为absolute或fixed的元素),用于设置该元素左边缘相对于其包含元素左边缘的位置。例如,left: 50px; 将使元素左边缘向右移动50像素。 相反地,margin-left属性用于设置元素左侧外边距的大小,这将影响与其他元素的相对位置。例如,margin-left: 50px; 将会为该元素添加一个左外边距,使该元素左侧向右移动50像素,而不是移动其左边缘位置。因此,该元素的实际位置会被保持不变。 此外,left属性是绝对的属性,其值将不受浏览器窗口大小或其他因素的影响。而margin-left属性是相对的属性,其值将依赖于元素自身的宽度大小。 总的来说,left属性控制着元素在水平方向上的实际位置,而margin-left属性则控制元素内部元素及其它元素的相对位置。知晓这两种属性的区别是尤为重要的,因为它们通常用于不同类型的网页排版及设计中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值