zoukankan      html  css  js  c++  java
  • 前端学习笔记浮动布局

    有这样一个问题,怎么让两个块并排显示,块用div表示。

    #div1{
    
    	background: black;
    	100px;
    	height:200px;
    
    }
    
    #div2
    {
    
    	background: red;
    	100px;
    	height:200px;
    
    
    }
    </style>
    
    <div id ="div1"></div>
    <div id="div2"></div>
    

     效果是这样的:

    由于div是block元素,不管你设置div是多宽都独占一行。所以按照上面的代码来写的话,div1和div2是并列显示的。我们得想想办法,后来查找资料,发现可以用float来实现,我们可以先让div1向左浮动,带入如下:

    <!DOCTYPE html>
    <html>
    <head>
    	<title>test </title>
    	<meta charset="utf-8">
    </head>
    <body>
    
    <style>
    
    
    
    #div1{
    
    	background: black;
    	100px;
    	height:200px;
       	float:left;
    }
    
    #div2
    {
    
    	background: red;
    	100px;
    	height:200px;
    
    
    }
    </style>
    
    <div id ="div1"></div>
    <div id="div2"></div>
    
    
    
    </body>
    </html>
    

     效果如下:

    咦?红色的块哪里去了呢?是因为给黑色的块设置了float属性,那么这个黑色的div就漂浮了起来,原来文档中所有的元素都处于同一个平面的,黑色的div设置了float属性之后就漂浮到上面的那个平面上去了,所以下面平面就留出了一块空地方,下面平面中的红色的块就填充了原来黑色块的位置了,所以黑块就把红块覆盖了。

    那怎么让红色的块也显示出来呢?很简单让红色的块也向左浮动,float:left

    <!DOCTYPE html>
    <html>
    <head>
    	<title>test </title>
    	<meta charset="utf-8">
    </head>
    <body>
    
    <style>
    
    
    
    #div1{
    
    	background: black;
    	100px;
    	height:200px;
    	float:left;
    }
    
    #div2
    {
    
    	background: red;
    	100px;
    	height:200px;
    	float:left;
    
    }
    </style>
    
    <div id ="div1"></div>
    <div id="div2"></div>
    
    
    
    </body>
    </html>
    

     效果如下:

    怎么解释这个过程?还是一样的道理,黑色的块已经是上面那个平面的元素了,而红色的块原本是处于下面那个平面的,float之后就跑到上面这个平面了,那为什么这两个块就非要挨着呢?前面不是说div是块状元素吗?难道块状元素float之后就不是块状元素,不需要独占一行了吗?这是个疑问。

  • 相关阅读:
    POJ1475 Pushing Boxes 华丽丽的双重BFS
    POJ3322 Bloxorz I 无脑广搜(我死了。。。)
    CH2401 送礼物 双向搜索
    POJ2248 Addition Chains 迭代加深
    POJ3074 Sudoku 剪枝深(神?)搜
    Luogu P1120 小木棍 [数据加强版] 来来来我们一起来剪枝,剪枝,剪枝、、、
    Luogu P4095 [HEOI2013]Eden 的新背包问题 思维/动规
    Luogu P5201 [USACO19JAN]Shortcut 最短路树???
    Luogu P5122 [USACO18DEC]Fine Dining 最短路
    Luogu P1608 路径统计 最短路计数
  • 原文地址:https://www.cnblogs.com/yfish/p/7041007.html
Copyright © 2011-2022 走看看