css万能清除原理

如果现在能有清理浮动的办法,但不至于在文档中多一个没有用的空标记,这时的效果是最好的!
引入:after伪元素选择器,可以在指定的元素的内容添加最后一个子元素

.container:after{

}

如何写入内容呢? ---->content属性,写入内容

于是

.container:after{
content:".";
}

刚刚写入的内容为行内元素,而清理浮动时必须为块对象!!

所以,--->display,将行内元素转换在块级元素

于是

.container:after{
content:".";
display:block;
}

当然还需要添加clear:both属性,才能清理掉浮动,故

.container:after{
content:".";
display:block;
clear:both;
}

问题,添加的内容还可以呈现在页面效果中,所以将高度清为零

.container:after{
content:".";
display:block;
clear:both;
height:0;
}

虽然,高度清为零了,但是文本仍然显示,其实现在的文本已经超过容器规定的尺寸,现在只需要将溢出的部分进行隐藏就可以了

所以
.container:after{
content:".";
display:block;
clear:both;
height:0;
overflow:hidden
}

这样就实现了能有清理浮动的办法,但不至于在文档中多一个没有用的空标记

时间: 2024-12-14 07:53:16

css万能清除原理的相关文章

【css】清除浮动的几种方式

[css]清除浮动的几种方式 因为浮动框不在普通的文档流中,所以它不占据空间.如下面的代码: 1 .news { 2 background-color:gray; 3 border:1px solid black; 4 } 5 .news img { 6 float:left; 7 } 8 .news p { 9 float:right; 10 } 11 <divclass="news"> 12 <imgsrc="/img/news-pic.jgp"

CSS的工作原理(样式重复的标签,浏览器到底会选择哪个样式??)

举个例子,标签P,也许会在嵌入样式表.外部样式表中多次被设置相关属性的值(比如color: red;/color : blue),那么浏览器到底是以哪个值来显示P的样式呢???这就是CSS的工作原理.(其中特指度比较重要) CSS有3种工作机制:1.继承    2.层叠   3.特指   (其中层叠原则是基于继承和特指的) 1.继承 :css中的祖先元素会向后代传递一样东西:CSS属性的值.body是所有元素的祖先,如果我们指定body{color:red;},那么文档中的所有元素都继承这一样式

横向排列两个多个div盒子的方法(CSS浮动清除float-clear/inline)/办法

最近在做一个div css切割,昨晚发现了长期以来一直无记录下来的问题!关于兼容IE跟FF的float属性.趁现在还清醒赶紧记下笔记先:一.并排在一行的两个div样式有这种情况:ie或者ff下对于子div设置float左的时候,如果另外的子div没有设置float左的 话,两个浏览器下会有区别,具体有一个会产生间隙.兼容做法就是都设置float属性.但是记住有设置过float就要将float clear掉,不然下面的div会叠在已float的div上.我通常把清除浮动写成单独的<div clas

HTML的渲染和CSS的渲染原理

HTML的渲染原理:Web页面运行在各种各样的浏览器当中,浏览器载入.渲染页面的速度直接影响着用户体验简单地说,页面渲染就是浏览器将html代码根据CSS定义的规则显示在浏览器窗口中的这个过程.先来大致了解一下浏览器都是怎么干活的:1. 用户输入网址(假设是个html页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回html文件: 2. 浏览器开始载入html代码,发现<head>标签内有一个<link>标签引用外部CSS文件: 3. 浏览器又发出CSS文件的请求,服务器

CSS Sprites技术原理和使用

在分析各个网站的CSS时,我们经常可以看到一些网站有很多的元素共享了一张背景图片,而这张背景图片包含了所有这些元素需要的背景,这种技术就叫做CSS Sprites. 淘宝的css sprites 这样做有什么好处呢?我们做一个简单的实验:假设我需要有一个列表,每一行列表都需要一个自己的修饰符.如果使用普通的img来放置这些图片: <li><img src="img/01.gif" alt="img" /><a href="#&

(转)css元素隐藏原理及display:none和visibility:hidden

原文链接:http://www.jb51.net/web/73987.html 在CSS中,让元素隐藏指屏幕范围内肉眼不可见的方法很多,只不过有的依然保留空间,而有的却消失的不留痕迹,接下来本文将详细介绍下css元素隐藏原理,感兴趣的你可不要错过了哈 一.CSS元素隐藏 在CSS中,让元素隐藏(指屏幕范围内肉眼不可见)的方法很多,有的占据空间,有的不占据空间:有的可以响应点击,有的不能响应点击.一个一个看. 复制代码 代码如下: { display: none; /* 不占据空间,无法点击 */

css的核心原理分为优先级原则与继承原则两大部分

css原理:1.优先原则=>后解析的内容会覆盖之前解析的内容(所谓解析就是读取的css样式)2.继承原则=>嵌套里面的标签拥有外部标签的某些样式,子元素可以继承父元素的属性 1>优先原则针对选择器:a.同一个选择器从上往下读取执行css样式 b.同一类选择器从上往下执行 c.不同类型的选择器优先级,先执行低优先级再执行高优先级,比方基本选择器就是从*通配符<标签div<class选择器<id选择器 d.外部样式与内部样式合并之后再一起执行,根据从上往下执行顺序读取 e.

CSS 之 清除 float 常用的方法

大多数前端使用.clearfix:after{ .....}  和 .clearit{....}的组合来清除浮动. 前端开发经常用到浮动 float:left; float:right; 有浮动就需要清除他们,after伪类由于受到ie6 7的不支持所以大多数时候,一般都需要定义一个固定的class名设置属性clear的值both的div 两者配合使用. <style type="text/css"> *{ margin: 0; padding: 0} .left{ flo

CSS中清除浮动的两种方式

在CSS中,父元素中的子元素如果使用了float,会导致父元素塌陷,高度为0. 对于这种情况,常见的解决方式有两种. 一.增加新的div,应用clear:both属性 html: 1 <div class="father"> 2 <div class="div1">1</div> 3 <div class="div2">2</div> 4 <div class="div3