webbasic之如何消除浮动影响

1.如果最终不需要显示父元素的边框,只需要处理对p的影响:

p{

    clear:left/right/both

}

以上可消除左浮动,右浮动,和两者都有时的影响,注意只能消除对叔叔辈的影响。

2.如果想消除对父元素的影响:

-在父元素内加一个空的块。

-在这个新块上clear

-原理?

因为新加进去的块没有浮动,依然占据流(此时新块也是没有高度的),对它clear会使它露出来(露出来的形式同p)

从而拉伸了流的高度,使得父元素有了高度

<body>
   <div id="d0">
     <div id="d1"></div>
     <div id="d2"></div>
     <div id="d3"></div>
     <!-- 消除浮动影响:消除浮动对父元素的影响 -->
     <div style="clear:left;"></div>
   </div>
   <p>浮动时看看我</p>
</body>

3.实例:照片墙

<!doctype html>
<html>
  <head>
     <meta charset="utf-8"/>
     <title>照片墙</title>
     <style>
        /*先刷墙*/
        body{
          background-color:#088;//设置背景墙为湖蓝色
        }
        /*再摆照片*/
        ul{
        width:780px; //设置ul(流)的宽度等于3个li的宽度,摆第4个的时候会自动换行
        margin:20px auto;
        border:1px solid red;
        /*去掉符号*/
        list-style-type:none;
        }
        li{
          width:218px;
          padding:10px;
          margin:10px;
          border:1px solid #ccc;//将每个li的边框设置的灰色
          float:left;//左浮动,实现照片的正序排列
          background-color:#fff;//将每个li的背景色设置为白色
        }//每一个li所占的宽度为:218+2*10+2*10+2*1=260
        p{
         text-align:center;//设置描述照片的文本居中
        }
     </style>
  </head>
  <body>
     <ul>
       <li>
         <img src="../images/01.jpg"/>
         <p>轻轻地我走了</p>
       </li>
       <li>
         <img src="../images/02.jpg"/>
         <p>正如我轻轻地来</p>
       </li>
       <li>
         <img src="../images/03.jpg"/>
         <p>我轻轻地招手</p>
       </li>
       <li>
         <img src="../images/04.jpg"/>
         <p>作别西天的云彩</p>
       </li>
       <li>
         <img src="../images/05.jpg"/>
         <p>那河畔的青柳</p>
       </li>
       <li>
         <img src="../images/06.jpg"/>
         <p>是夕阳中的新娘</p>
       </li>
     </ul>
为什么使用ul来做照片墙而不使用div?

用列表放相似的东西,它的渲染效率是最高的。
  </body>
</html>

时间: 2024-10-31 12:06:02

webbasic之如何消除浮动影响的相关文章

使用样式“clear”和“overflow”消除浮动元素对环绕行框的影响

为元素设置“float”样式之后,元素会脱离标准文档流,不再占据原来的空间.后续元素会向前移动,占据这个新的空间.后续的文本会围绕着浮动元素分布,形成一种环绕布局的现象. 示例代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>test page</title> 5 <meta charset="utf-8"> 6 <style type="text/c

浮动float、浮动影响和清除浮动

普通流(normal flow) 这个单词很多人翻译为 文档流 , 字面翻译 普通流 或者标准流都可以. 前面我们说过,网页布局的核心,就是用CSS来摆放盒子位置.如何把盒子摆放到合适的位置? CSS的定位机制有3种:普通流(标准流).浮动和定位. html语言当中另外一个相当重要的概念----------标准流!或者普通流.普通流实际上就是一个网页内标签元素正常从上到下,从左到右排列顺序的意思,比如块级元素会独占一行,行内元素会按顺序依次前后排列:按照这种大前提的布局排列之下绝对不会出现例外的

分析浮动及清除浮动影响

1.浮动定义(float设置) 浮动,顾名思义,就是使文本内容浮起来和动起来,浮指的是:脱离文档流,动指的是:向设置的方向移动. 脱离文档流将会导致文档内容高度等不会被常规计算,会造成常见的文本覆盖.高度塌陷等问题影响布局效果,例如: 2.清除浮动 常规的有以下几种: 1.设置clear:both:不允许两边有浮动现象,在浮动元素后的非浮动元素中设置,clear的值有:none|both|left|right; 2.overflow:hidden:应用BFC原理,将盒子变为独立的块级上下文,在这

清除浮动影响的方法

1.在浮动所在的标签里面加一个兄弟标签2.在所在父级标签加一个伪类3.在下面的div里面加clear 代码如下: <body><div class="parentOne"><div class="first">1</div><!--第一种方法--><div class="second" style="clear: both"></div><

(3.19)消除浮动的区别.

希赛网 > 问答 > 程序开发 > Web开发 > Web前端 > overflow:hidden跟clear:both overflow:hidden跟clear:both overflow:hidden和clear:both overflow 属性规定当内容溢出元素框时发生的事情.所有主流浏览器都支持. <div class="a"> <div class="a-left">我是A浮动在左边</div&

消除浮动的方式

1.空div <div class="clearfloat"> div2 </div> .clearfloat{clear:both} 2.父级定义overflow:hidden必须定义width或zoom:1,同时不能定义height,使用overflow:auto时,浏览器会自动检查浮动区域的高度3.使用伪类 清除浮动 div::after{     content:".";             display:block;     

消除浮动方法

1.css中用clear:both,指该元素左右不会出现浮动元素 2.浮动元素后添加块级元素,对该块级元素设clear:both 3.用伪元素:after,在父元素最后添加一个不显示的块级元素 4.用overflow,属性值除visible以外都可以 详细链接:https://blog.csdn.net/u012207345/article/details/78279961 原文地址:https://www.cnblogs.com/fur-mat/p/11316851.html

float 浮动

浮动主要解决排版的问题 如何清除浮动  1. 在父元素内添加一个空的块,并且加上clear:left/right,,,,,,,,使用空的块来拉升父元素的高度  2.在叔叔的下面添加clear:both. 浮动演示 <!DOCTYPE html><html><head><meta charset="UTF-8"><title>浮动</title><style> #d0 {  width: 400px;  

CSS—DIV浮动定位 消除影响

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>消除浮动影响</title><style type="text/css"> #d0,p{ border: 1pX solid red; width: 400PX; } #d1,#d2,#d3{ width:100px; height: 100PX; margin: 10PX