CSS盒模型简单用法

1.盒模型

                               

  margin:外边距; margin-top /margin-right/margin-bottom/margin-left; 或者 margin:top right bottomleft;

  border:边框;border-top /border-right/border-bottom/border-left; 或者 border:top right bottomleft;

  padding:内边距;padding-top /padding-right/padding-bottom/padding-left; 或者 padding:top right bottomleft;

2.margin (外边距)

2.1margin作为外边距,因此我们可以通过调整margin的距离来改变元素的位置;

  列:通过写 margin:auto 来实现让div居于整个页面中间;

                    

  

<!DOCTYPE html>
<html>
  <head lang="en">
      <meta charset="UTF-8">
      <title></title>
      <style>
            div{width:50px;height: 50px;background: yellow; margin: auto}
        </style>
</head>
<body>
  <div >
      </div>
</body>
</html>

  同样的我们也可以采用margin-top /margin-right/margin-bottom/margin-left;让元素居于想要的位置,但是要注意的是采用margin调整元素的位置会影响该元素后面的元素的位置;因此采用margin布局要特别注意不要影响后面的元素布局;

  当我们将一个元素放到一个另一个元素中并且想通过使用margin来改变这个元素的布局,这个时候会发现如果直接使用margin会使父级元素同这个元素一起改变位置,但是父级元素的margin却没有发生改变;

  列如:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .d1{width:300px;height: 300px;background: yellow; margin: auto}
        .d2{width: 50px;height:50px;background: green;margin-top: 20px}
    </style>
</head>
<body>
        <div  class="d1">
                <div class="d2"></div>
        </div>
</body>
</html>

  为了使只改变你想要改变的位置却不改变父级元素的位置,使该元素脱离正常的文档流,这样改变位置的时候就不会影响父级元素了;

  列如:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .d1{width:300px;height: 300px;background: yellow; margin: auto}
        .d2{width: 50px;height:50px;background: green;margin-top: 20px;float:left;}
    </style>
</head>
<body>
        <div  class="d1">
                <div class="d2"></div>
        </div>
</body>
</html>

  如上的列子让d2浮动,这样脱离了文档流就可以改变d2的margin让d2的位置改变而父级d1的位置却不改变;

  2.2应为margin可以为负的,因此有了负边距布局,

  列:

  

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .center{
            float: left;
            width: 100%;
        }
        .main{
            background: yellow;
            margin: 0 210px;
            height: 200px;
        }
        .left,.right{
            width: 200px;
            height: 200px;
            background: blue;
            float: left;
        }
        .left{
            margin-left: -100%;
        }
        .right{
            margin-left: -200px;
        }
    </style>
</head>
<body>
    <div class="center">
        <div class="main">
            center
        </div>
    </div>
    <div class="left">left</div>
    <div class="right">right</div>
</body>
</html>

  效果如图:改变窗口大小左右两边的蓝色框大小不变,中间的大小改变

                  

  2.3 由于有了负边距的布局,有衍生出了圣杯布局:

    列:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
       *{
           padding: 0;
           margin:0;
           text-align: center;
           font-size: 1.2em;
       }
       .head{
           width: 100%;
           height: 50px;
           background: #f50;
        }
       .body{
           padding: 0 200px;
       }
       .center{
           width: 100%;
           height: 200px;
           background: yellow;
           float: left;
       }
       .left,.right{
           width: 200px;
           height: 200px;
           background: blue;
           float: left;
           position: relative;
       }
       .left{
           margin-left: -100%;
           right: 200px;
       }
       .right{
          margin-left: -200px;
           left:200px
       }
        .foot{
            clear: both;
            width: 100%;
            height: 50px;
            background: #0ff;
        }
    </style>
</head>
<body>
    <div class="head">
        head
    </div>
<div class="body">
    <div class="center">center</div>
    <div class="left">left</div>
    <div class="right">right</div>
</div>
<div class="foot">
    foot
</div>
</body>
</html>

  如下图,具有与负边距布局相同的效果,改变窗口大小黄色区域改变大小,但是蓝色区域大下固定不变

              

  圣杯布局相对于负边距布局感觉两者的差别不大,圣杯布局的兼容性要比负边距布局更好。

3.border (边框)

  用border绘制的图案:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        #d1{
            width: 0;
            height: 0;
            border:50px solid;
            border-top-color: rgb(255, 11, 12);
            border-right-color: rgb(56, 18, 255);
            border-bottom-color: rgb(85, 255, 31);
            border-left-color: rgb(255, 215, 28);
        }
    </style>
</head>
<body>
    <div id="d1"></div>
</body>
</html>

  通过对border的不同边设置不同的样式可以得到不同的图形:

                              

4.padding (内边距)

    通过调整内边距可以使内容与border之间有间隔,这一应用在文本输入框中很实用

  列:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .t2{
            padding-left: 16px ;
        }
    </style>
</head>
<body>
<input type="text" class="t1"/>
<input type="text" class="t2"/>
</body>
</html>

  样式:

                            

  注意:当加入padding后会改变文本输入框的大小;

  

  

  

时间: 2024-12-02 09:23:38

CSS盒模型简单用法的相关文章

每日分享!介绍Css 盒模型!

如何定义盒模型: 在CSS盒子模型理论中,页面中所有的元素都是看成一个盒子,并且还占据一定的空间. 一个页面是由很多这样的盒子组成的.这些盒子之间都会相会影响,因此我们掌握CSS盒模型相当重要.需要理解盒模型,我们需要从两个方面去考虑:一.理解一个单独盒子的内部结构,二是理解多个盒子之间的相互关系! 盒子的组成:盒子是由(content(内容) + padding(内边距)+ border(边框) + margin(外边距) ) 四个属性组成.此外,在盒子模型中,还有width(宽度)和 hei

css盒模型和块级、行内元素深入理解

一.CSS盒模型 盒模型概述 盒模型是CSS的核心知识点之一,它指定元素如何显示以及如何相互交互.页面上的每个元素都被看成一个矩形框,这个框由元素的内容.内边距.边框和外边距组成.如下图所示: 内边距出现在内容区域的周围.如果在元素上添加背景,那么背景应用于元素的内容和内边距组成的区域.因此可以用内边距在内容周围创建一个隔离带,使内容不与背景混合在一起.添加边框会在内边距区域外边增加一条线.这些线可以有不同的样式和宽度,如实线.虚线.点画线.在边框外边的是外边距,外边距是透明的,一般使用它控制元

CSS盒模型(Box Model)

阅读目录 1. 什么是CSS盒模型 2. IE盒模型和W3C盒模型 3. CSS3属性box-sizing 4. 关于盒模型的使用 在最初接触CSS的时候,对于CSS盒模型的不了解,撞了很多次的南墙呀.盒模型是网页布局的基础,它制定了元素如何在页面中显示,如果足够地掌握,那使用CSS布局那将会容易得多. 1. 什么是CSS盒模型 盒模型,顾名思义,就是一个盒子.生活中的盒子,有长宽高,盒子本身也有厚度,可以用来装东西.页面上的盒模型我们可以理解为,从盒子顶部俯视所得的一个平面图,盒子里装的东西,

尖刀出鞘的display常用属性及css盒模型深入研究

一:diplay:inline-block 含义:指元素创建了一个行级的块级元素,该元素内部(内容)被格式化成一个块级元素,同时元素本身则被格式化成一个行内元素.更简单的说就是说inline-block后的元素具有block元素可以设置宽高特性,同时又具有inline元素默认不换行的特性. 其实display:inline-block这个属性现在浏览器都支持,其实IE从5.5开始就已经支持了,但是IE6,7支持的还不够完善,我们可以先来做demo测试下就可以明白.为了做demo,所以我们现在需要

IE浏览器和CSS盒模型【转】

总结:css盒模型在不同浏览器之间(例如:ie和其他浏览器 如火狐)的差异只存在于ie6之前的版本中,如ie5.在ie6下, Internet Explorer 在标准模式下渲染时使用了 CSS 规范的算法,也就是会显示正确的盒模型,而在 quirks 模式下使用先前的,不规范的算法.即,只有在怪异模式下,css盒模型才会在ie和火狐下存在差异. 但是实际上我们都是使用标准的模式,只要为文档设置一个DOCTYPE,就会使得IE遵循标准兼容模式的方式工作. //以下摘自百度百科"怪异模式"

css盒模型与bfc与布局与垂直水平居中与css设计模式等

一.css盒子与布局相关 盒子内部的布局 盒子之间的布局visual formatting 脱离正常流normal flow的盒子的布局 absolute布局上下文下的布局 float布局上下文下的布局 flow下的盒子的布局 BFC布局上下文下的布局 IFC布局上下文下的布局 FFC布局上下文下的布局 table布局上下文下的布局 css grid布局上下文下的布局 1.css盒模型 页面上显示的每个元素(包括内联元素)都可以看作一个盒子,即盒模型( box model ) 盒模型有4部分组成

css盒模型

css盒子模型是为了让我们充分理解div+css模型的定位功能,盒子模型在学习div+css布局方式中必须要学习的一个模型. 那什么是css盒模型呢? 网页设计中常听到的属性名:内容(content).填充(padding).边框(border).边界(margin).css盒模型都具备这些属性.这些属性和日常生活中盒子的属性是一样的.内容就是盒子里面装的东西,而填充就是像盒子里装的一些反震的材料,边框就是箱子的本身,边界呢就像盒子之间的空隙. 盒子的模型有2种,分别是IE盒子模型和标准盒子模型

第16章 CSS盒模型下

第 16章 CSS盒模型[下]学习要点:1.元素可见性2.元素盒类型3.元素的浮动 本章主要探讨 HTML5中 CSS盒模型,学习怎样了解元素的外观配置以及文档的整体布局. 一.元素可见性使用visibility属性可以实现元素的可见性,这种样式一般可以配合 JavaScript来实现效果.样式表如下:属性 visibility 值 说明 CSS版本visible 默认值,元素在页面上可见 2hidden 元素不可见,但会占据空间. 2collapse 元素不可见,隐藏表格的行与列. 2 如果不

CSS 盒模型

CSS盒模型也叫框模型,具备内容(content).内边距(padding).边框(border).外边距(margin)这些属性.在CSS中,每一个元素都被视为一个框,而每个框都有三个属性: border:元素的边框(可能不可见),用于将框的边缘与其他框分开: margin:外边距,表示框的边缘与相邻框之间的距离: padding:内边距,表示框内容和边框之间的空间. 盒模型的结构如下图所示: 由上图可以看出,width和height指的是内容区域的宽度和高度.增加内边距.边框和外边距不会影响