CSS布局元素

一、display(元素显示模式)

  display属性用来设置元素的显示方式。如果display设置为none,float及position属性定义将生效。

  语法:display: block | none | inline | inline-block

    1)block:块对象值的是元素显示为一个方块,默认显示状态下将占据整行,其它元素只能另起一行显示。(块元素)
    2)inline:行间对象与block刚好相反,它允许其它元素在同一行显示。(内联元素)
    3)inline-block:指定对象为内联块元素。可以在同一行的块元素吧。
    4)none:隐藏对象。与visibility属性的hidden值不同,其不为被隐藏的对象保留其物理空间。
如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            .display{width:100px;height:100px;display:inline-block;}
            .displayInline1{background-color:red;}
            .displayInline2{background-color:green;}
        </style>
    </head>
    <body>
        <div class="display displayInline1"></div><div class="display displayInline2"></div><!--注意:两个div代码之间写在同一行,要不然会出现中间会多出空白或者不能在同一行-->
    </body>
</html>

二、float(元素的浮动)

  用来控制元素是否浮动显示。浮动的时候元素的显示属性也变化了,变为“行内元素”

  语法:float: none | left | right

    1)left:向左浮动
    2)right:向右浮动
    3)none:不浮动

如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            .box{width:100px;height:100px;}
            .floatLeft1{background-color:blue;float:left;}
            .floatLeft2{background-color:red;float:left;}
        </style>
    </head>
    <body>
        <div class="box floatLeft1"></div>
        <div class="box floatLeft2"></div>
    </body>
</html>

浮动的目的

  就是要打破文档流的默认显示规则。如果要让元素按照我们的布局要求进行显示,这时就要利用float属性。

说明

  1.任何声明为float的元素自动被设置为一个“块级元素”。
  2.在标准浏览器中,浮动元素脱离了文档流,所以浮动元素后的元素会占据浮动元素本来应该所处的位置。
  3.如果水平方向上没有足够的空间容纳浮动元素,则转向下一行。
  4.文字内容会围绕在浮动元素周围。
  5.浮动元素只能浮动至左侧或者右侧。

清除浮动:

  语法:clear: none | left | right | both

    1)none:默认值。允许两边都可以有浮动对象。
    2)left:不允许左边有浮动对象。
    3)right:不允许右边有浮动对象。
    4)both:不允许有浮动对象。

三、position(元素的定位)

  设置元素定位方式

  语法:position: static | absolute | fixed | relative

    1)static:无定位,默认值。
    2)absolute:绝对定位
    3)relative:相对定位
    4)fixed:固定定位

absolute说明:

  • 脱离文档流
  • 通过top,bottom,left,right定位
  • 如果父元素position为static时,将以body坐标原点进行定位
  • 如果父元素position为relative时,将以父元素进行定位
div{
    position:absolute;
    left:100px;
    top:100px;
}

relative说明:

  • 相对定位(相对自己原来的位置而言)
  • 不脱离文档流
  • 参考自身静态位置通过top,bottom,left,right定位
div{
    position:relative;
    left:100px;
    top:100px;
}

fixed说明:

  固定定位实际上只是绝对定位的特殊形式;固定定位的元素是相对浏览器窗口而固定,而不是相对于其包含元素;即使页面在滚动了,他们仍然会处在浏览器窗口中跟原来完全一样的地方。

  fixed属性可以用来做网页返回顶端按钮

请看右边那个蓝色的东东

这里是fixed固定定位

div{
    position:fixed;
    right:0;
    top:50%
}

z-index(元素的层叠关系)

  当元素发生重叠时,可以通过z-index属性,设置其层叠的先后顺序。较大number值的对象会覆盖在较小number值的对象之上。

  语法:z-index:auto | number

以下通过调整div的z-index值换颜色:(点击)

红色 蓝色 绿色

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            .box0{
                position: relative;
            }
            .box{
                width: 300px;
                height: 150px;
                position: absolute;
                left: 0;
                top: 0;
            }
            .box1{
                background: red;
            }
            .box2{
                background: blue;
            }
            .box3{
                background: green;
            }
            .input{
                z-index: 99;
                position: relative;
                top: 150px;
            }
            .radio{
                display: none;
            }
            .radio:nth-of-type(1):checked~.box1{
                z-index: 10;
            }
            .radio:nth-of-type(2):checked~.box2{
                z-index: 10;
            }
            .radio:nth-of-type(3):checked~.box3{
                z-index: 10;
            }
        </style>
    </head>
    <body>
        <div class="box0">
            <input type="radio" name="bg" id="bg1" class="radio"/><label for="bg1"class="input">红色</label>
            <input type="radio" name="bg" id="bg2" class="radio"/><label for="bg2"class="input">蓝色</label>
            <input type="radio" name="bg" id="bg3" class="radio"/><label for="bg3"class="input">绿色</label>
            <div class="box box1"></div>
            <div class="box box2"></div>
            <div class="box box3"></div>
        </div>
    </body>
</html>
时间: 2024-10-23 11:33:04

CSS布局元素的相关文章

css -- 布局元素

默认情况下拥有布局的元素:HTML ,table,tr,td,img,hr,input,select,textarea,button,iframe,embed,object,applet,marquee 设置以下css属性会自动让元素拥有布局:float,display:inline-block,width,height,zoom 拥有布局的元素不会收缩 布局元素对浮动自动清理 相对定位的元素没有布局 拥有布局元素之间的外边距不会叠加 在没有布局的块级链接上,单击区域只覆盖文本 在滚动时,列表项

CSS布局:元素垂直居中

CSS布局之元素垂直居中 本文将依次介绍在不同条件下实现垂直居中的多种方法及简单原理 Tip:下文中说的适用场景只是举了几个简单的例子方便读者理解.实际应用场景太复杂,生搬硬套容易出错.最重要的是掌握各种方法能够实现居中的原理.只要掌握了原理,那么不管问题怎么变都可以根据自己的理解选择合适的方法. 一.使用line-height 1.原理 ? 有行高的元素,内容会默认显示在行高的垂直中心处,通过设置行高等于父元素的高度,可以达到内容在父元素中垂直居中的效果 2.实现步骤 (1)父元素有一个确定的

深度理解div+css布局嵌套盒子

1. 网页布局概述 网页布局的概念是把即将出现在网页中的所有元素进行定位,而CSS网页排版技术有别于传统的网页排版方法,它将页面首先在整体上使用<div>标记进行分块,然后对每个快进行CSS定位以及设置显示效果,最后在每个块中添加相应的内容.利用CSS排版方法更容易地控制页面每个元素的效果,更新也更容易,甚至页面的拓扑结构也可以通过修改相应的CSS属性来重新定位.  2. 盒子模型 盒子模型是CSS控制页面元素的一个重要概念,只有掌握了盒子模型,才能让CSS很好地控制页面上每一个元素,达到我们

CSS的元素类型

前面有一篇文章讲到在css世界中,html元素的表现都是一个个盒子,而css中盒子的显示方式有三种方式,分别是块元素.行内元素和行内块元素.本文总结这三种显示方式的特征和区别. 1 写在前面 最近在整理cnblogs上页面的样式,默认右侧[随笔分类]中的标签是每行显示一个,而我想把右侧[随笔分类]中的标签设置为一行显示多个标签,至于显示多少个则随标签的大小而定,并且每个标签在鼠标放上去的时候会有背景颜色的变化.效果如下图. 下面我们就来分析一下如何让左边的标签显示方式变为右边这样的吧 2 块元素

&lt;转载&gt;div+css布局教程之div+css常见布局结构定义

在使用div+css布局时,首先应该根据网页内容进行结构设计,仔细分析和规划你的页面结构,你可能得到类似这样的几块: 页面层容器.页面头部.标志和站点名称.站点导航(主菜单).主页面内容.子菜单.搜索框.页脚(版权和有关法律声明). 通常采用DIV元素来将这些结构定义出来,类似这样: <div id="Container"></div> 页面层容器 <div id="header"></div> 页面头部 <di

&lt;转载&gt;Div+Css布局教程(-)CSS必备知识

目录: 1.Div+Css布局教程(-)CSS必备知识 注:本教程要求对html和css有基础了解. 一.CSS布局属性 Width:设置对象的宽度(width:45px). Height:设置对象的高度(Height:45px;). Background:设置对象的背景颜色.背景图像. 1.背景颜色 background:#09F; 2.背景图像 background:url(file:///C|/Users/Administrator/Desktop/huipu.jpg) repeat-x;

CSS篇之DIV+CSS布局

<div></div> div与其他标签一样,也是一个XHTML所支持的标签. div是XHTML中指定的,远门用于布局设计的容器标记. 简单的CSS布局 头部 内容 页脚 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <style type="text/css">

css布局实践总结(part2)

一.总结: 在第一篇css布局实践心得总结中总结了通过给元素设置position:absolute的方式让元素处在BFC(块级格式化上下文)的环境中,处在BFC环境中的元素是独立的,它和外面其他元素毫无关系. 今天很兴奋的是实践到了通过将元素设置成line-block的方式让元素处在BFC的环境中,让其与外面的元素隔绝关系.还是引用这张图. 问题:如何让一个块级元素在没有采用float或position:absolute的情况下(采用这两种方式布局的元素,元素都会脱离文档流,元素大小由元素里面的

css012 css布局简介

css012  css布局简介 一.    网页布局的类型 网页布局的类型 1.固定宽度 2.流式 3.相应式web设计 二.    如何进行css布局 1.强大的<div>标签 网页的html代码数量应该尽可能减到最少,尤其是div标签的嵌套,当使用div标签有助于网页布局设计时,就很好用.但是并不是div嵌套的越多越好. 2.html5的分区元素 <div>  用于分割区域,块级元素 <span> 行内分区元素 <article> 给网页或者网页的分区提