CSS之float样式总结
从四大开始开始慢慢接触前端,大概半年多过去了,虽然做了一些东西,但感觉有些点始终不是很清晰。有时候为了赶进度,没有太多时间对某个点进行全面深入思考分析,只能从网上搜一搜,试一试,只要效果出来了,任务就完成了。这次终于可以抽出时间对一直不是很清楚的一点css中的float进行了详细探究,我感觉这是css中迷惑性最大的一个,所以下定决心把它搞清楚。
我先从w3school上看了其对float的解释,有查了其他一些资料。最后自己亲自实践一一验证。现在终于眉目清晰了。废话不多说,就把最核心的总结于下:
主要两点:应用了float样式元素本身的特点和其对其他元素的影响
先列一下浮动元素本身的特性,以便理解它如何对其他元素产生影响
(1)向左或向右浮动直到碰到包含边框或其他浮动元素,注意:浮动范围是在父元素之内
(2)脱离正常文档流(其实并非真正完全脱离,从它对后续元素(在文档流中排在它后面的)的影响可以看出,它对块级元素透明,对行内元素不透明,并且对父元素有影响,
可能会使父元素塌陷,因为感受不到它的存在。
因此浮动元素对后续元素的影响可总结为三句:对块元素透明,对行内元素不透明,对父元素透明。
能不能清除这种影响呢??
答案是:对于块级元素是可以的,在块级元素中设置clear css样式可以清除对其影响,也就是说,对块级元素可以不透明,这样,块级元素就可以
感受到之前浮动元素的存在了。
但是对于行内元素和对父元素的影响clear是不起作用的。
虽然无法消除浮动元素对行内元素和父元素的影响,但是有解决办法:
对于行内元素,可以清除对其父元素的影响从而清除对它的影响,因为它肯定在父元素的范围之内嘛。
对于父元素,有两种方法: 1.借助于块元素间接清除对其影响,具体做法是:在所有的子元素之后放置一个空的块级元素,清除浮动对该块级元素的影响,那么该块级元素就会移到所有子元素的下面,因着父元素可以感受到该块元素,因此可以借助该块 元素而让父元素不再塌陷。
2.对父元素同样设定浮动样式,因为浮动元素可以感受到浮动元素的存在,因此自然就没有影响了。
进一步总结如下:浮动元素会有脱离文档流的效果(但只针对块级元素),若要清除这种对块级元素的影响,需应用clear样式就可以了
CSS之float样式总结的更多相关文章
- CSS之float样式
一.简介 Css样式的float浮动属性,用于设置标签对象(如:<div>标签盒子.<span>标签.<a>标签.<em>标签等html标签)的浮动布局 ...
- [原创]Lodop打印, 以及Lodop引用css文件控制打印样式的问题.
最近在做Lodop打印功能: 思路是: 用MasterPage搭个打印页面的框架, 然后在具体的页面中填入数据, 打印的样式由母版页和CSS来控制. 困扰了一天的问题是: 在打印的JS文件中, 引 ...
- #8.10.16总结# 属性选择符 伪对象选择符 CSS的常用样式
属性选择符 E[att] E[att="val"] E[att~="val"] E[att^="val"] E[att$="val ...
- CSS 布局Float 【0】
float是 css 样式的定位属性.我们在印刷排版中,文本可以按照需要围绕图片.一般把这种方式称为“文本环绕”.在网页设计中,应用了CSS的float属性的页面元素就像在印刷布局里面的被文字包围的图 ...
- 精通CSS+DIV网页样式与布局--图片效果
提到图片效果,小伙伴们可能会想到美图秀秀,ps等,这些软件都是款非常不错的照片处理软件,包括常用的:黑白,增强,高斯,高对比,夜视,老照片和铅笔画等等.不管你是否是专业的 照片拍摄人员,我们都可以通过 ...
- Css - 选择器和样式
Css - 选择器和样式 标签选择器 即使用html标签作为选择对象 <style> div{ background:red; } </style> <div&g ...
- js动态改变css伪类样式
首先我们来看下页面上需要实现的基本效果,如下图所示: 因此我们可以使用如下js代码来试试看,是否能使用js改变伪类?如下代码所示: $(function() { $('.listnav li').cl ...
- 【转】CSS浮动(float,clear)通俗讲解
作者:杨元 本文链接:http://www.cnblogs.com/iyangyuan/archive/2013/03/27/2983813.html 很早以前就接触过CSS,但对于浮动始终非常迷惑, ...
- 验分享:CSS浮动(float,clear)通俗讲解
经验分享:CSS浮动(float,clear)通俗讲解 很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能力差,也可能是没能遇到一篇通俗的教程. 前些天小菜终于搞懂了浮动的基本原理,迫不 ...
随机推荐
- wifi 破解
基础的知识: ESSID :无线网络的名字 BSSID :是AP的mac地址 CH: 工作信道 AP :无线访问接入点 WEP WPA/WPA2 STATION :客户机mac DHCP ...
- bzoj 2058+2059+2060 Usaco2010 Nov
三道金组比较容易的题目.. 2058 首先交换次数就是逆序对数,因为只能交换相邻的两数 先对原序列找逆序对数 用树状数组nlogn求出 然后O(n)依次求出其循环序列的逆序对数 比如 3 5 4 2 ...
- 那些年一起用过的iOS开发利器之CocoaPods
本系列所有工具的简介见:http://www.cnblogs.com/lloydsheng/p/3637606.html CocoaPods是一个负责管理iOS项目中第三方开源代码的工具.CocoaP ...
- 第一章-第四题(ACM 比赛的程序是软件么? “写程序” 和 ”做软件“ 有区别么?软件工程是不是教那些不怎么会写程序的人开发软件? 你怎么看?这个游戏团队, 有很好的软件,但是商业模式和其他软件之外的因素呢?有没有考虑到)--By梁旭晖
引用 http://baike.baidu.com/link?url=z_phkcEO4_HjFG_Lt163dGFAubdb68IbfcfzWscTOrrZ55WbJEQKzyMQ5eMQKyatD ...
- requirejs:研究笔记
模块化历史 模块化异步加载方式 后期维护 查找问题 复用代码 防止全局变量的污染 http://requirejs.cn/ http://requirejs.org/ 我的目录结构 总体步骤 < ...
- 关于 apue.h 的使用方法
unix中有很多地方使用到apue.h .apue.h是作者自己写的一个头文件,这个文件怎么用,晚上有很多方法,但是经过尝试大多不好用. 经过本人尝试,可以把src.3e.tar.gz 的代码解压到 ...
- LDA的Python实现源码
#-*- coding:utf-8 -*- import logging import logging.config import ConfigParser import numpy as np im ...
- tp的极光推送demo
原文地址:http://blog.csdn.net/zhihua_w/article/details/52197611 极光推送(JPush)是独立的第三方云推送平台,致力于为全球移动应用开发者提供专 ...
- Android NDK常见配置问题的解决方案
添加NDK包时出现"Not a valid NDK directory" 在解压的android-ndk-rxxx文件夹中新建一个txt文件,将名字包括后缀更改为ndk-build ...
- BasicDataSource的配置参数
参数 描述 username 传递给JDBC驱动的用于建立连接的用户名 password 传递给JDBC驱动的用于建立连接的密码 url 传递给JDBC驱动的用于建立连接的URL driverClas ...