.BFC概念: 块级格式化上下文,是一个独立的渲染区域,让处于 BFC 内部的元素与外部的元素相互隔离,使内外元素的定位不会相互影响. 我们先了解一个名词:BFC(block formatting context),中文为“块级格式化上下文”. 先记住一个原则: 如果一个元素具有BFC,那么内部元素再怎么翻江倒海,翻云覆雨,都不会影响外面的元素.所以,BFC元素是不可能发生margin重叠的,因为margin重叠会影响外面的元素的:BFC元素也可以用来清除浮动带来的影响,因为如果不清除,子元素浮…
使用方法: .clearfix:before,.clearfix:after { content:"."; display:table; } .clearfix:after { clear:both; } .clearfix { *zoom:1; } 优点: 代码更简洁 缺点: 由于IE6-7不支持:after,使用 zoom:1触发 hasLayout. 代表网站: 小米.腾讯等…
最近在研读 <CSS SECRET>(CSS揭秘)这本大作,对 CSS 有了更深层次的理解,折腾了下面这个项目: CSS3奇思妙想 -- Demo (请用 Chrome 浏览器打开,非常值得一看).采用单标签完成各种图案,许多图案与本文有关. 也希望觉得不错的同学顺手在我的 Github 点个 star : CSS3奇思妙想 . 正文从这里开始,本文主要讲述一下 伪元素 before 和 after 各种妙用.    :before和::before的区别 在介绍具体用法之前,简单介绍下伪类和…
最近无论是工作还是自我学习提升都很忙,面对长篇大论的博文总是心有余而力不足,但又不断的接触学习到零碎的但是很有意义的知识点,很想分享给大家,所以本篇可能会很短. 本篇接我另一篇讲述 CSS 伪元素的文章: [CSS进阶]伪元素的妙用–单标签之美,看完本文觉得有意思的可以再去看看上一篇,分享了一些伪元素的妙用. 正文从这里开始: 哪些标签不支持伪元素? 我也是才知道这个姿势.为了不误导读者,就赶紧补充一下. 伪元素虽然强大,但是还是有一些特定的标签是不支持伪元素 before 和 after 的.…
1.单个颜色实现按钮 hover .active 的明暗变化 请点击 转载利用伪元素单个颜色实现 hover 和 active 时的明暗变化效果 2.利用after伪类清除浮动 .clearfix:after {content:"."; display:block; height:0; visibility:hidden; clear:both; } .clearfix { *zoom:1; } 3.增强用户体验,使用伪元素实现增大点击热区.适合用在点击区域较小的移动端,PC端看上去是…
使用after伪类清除浮动 .department li:after{ content:"."; height:0; visibility:hidden; display:block; clear:both; }…
本篇重点介绍CSS中的:befor.:after创建的伪元素几种使用场景,如填充文本.作为iconfont.进度线.时间线以及几何图形. 1. 介绍 1.1 说明 CSS中的:befor.:after都会创建一个伪元素,其中:befor创建的伪元素是所选元素的第一个子元素,:after创建的伪元素是所选元素的最后一个子元素. :befor.:after创建的伪元素默认样式为内联样式. 1.2 语法 /* CSS3 */ selector::before /* CSS2 */ selector:b…
一.概念 CSS 伪类 -------向某些选择器添加特殊的效果,要达到同等效果,通过类来达到效果 CSS 伪元素     -------将特殊的效果添加到某些选择器,要达到同等效果,通过添加元素达到效果 伪类种类 伪元素种类 二.基本例子 伪类: p>i:first-child {color;red} p下边的第一个子元素的颜色为红色 <p> <i>first</i> <i>second</i></p> 要达到同等效果,可以这…
CSS 的主要目的是给 HTML 元素添加样式,然而,在一些案例中给文档添加额外的元素是多余的或是不可能的.事实上 CSS 中有一个特性允许我们添加额外元素而不扰乱文档本身,这就是“伪元素”. 你一定听说过这个词,尤其是当你一直关注着我们的教程.点此浏览原作者的其他文章 事实上,的确有一些CSS家族的成员(CSS选择器)被分类为伪元素比如::first-line, :first-letter, ::selection, :before and :after.但是,就本文而言,我们将把我们探讨的范…
对于伪类和伪元素,我如果要区别它们,一般是使用css中的手册来区分,平常时候也没特意去记,需要用到时打开手册“哦,这个是伪元素,这个是伪类”,我个人觉的某些东西你把它存在网上,不一定要存在头脑中.带着这样的思维去面试的我,常常碰壁,当人事问我会什么的时候,我说我会百度,然后就没有然后了……笑话不多说,进入今天的正题! 先上张图片,毕竟有图有真相嘛~ 这是我在慕课网上练习切图技能时,老师在视频中演示的案例,我刚开始也是跟着视频一点点切,可以说全部代码都是Copy过来的,后来有感觉了,就自己动手,遇…
介绍常用的伪元素. after用得比较多的 first-letter 用于为文本的第一个首字母设置样式. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="x-ua-compatible" content="IE=edge"> <meta name=&…
定义 伪元素选择器:就是有连续两个冒号的选择器,如::first-line::first- letter.::before 和::after E::first-letter文本的第一个单词或字(如中文.日文. 韩文等) E::first-line 文本第一行: E::selection 可改变选中文本的样式: E::before和E::after 例子 <!DOCTYPE html> <html lang="en"> <head> <meta…
1.伪元素的本质(插入了一个元素(行内元素/标签/盒子) 案例1: 案例2:…
BFC的通俗理解: Block Formatting Context(块级格式化上下文)是W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用. 简单来讲,我们可以把它理解为,我们在进行盒模型布局的时候,如果一个元素符合了成为BFC的条件,该元素成为一个隔离了的独立容器,元素内部元素会垂直的沿着其父元素的边框排列,和外部元素互不影响 .比如浮动元素会触发BFC,浮动元素内部的子元素主要受到该浮动元素的影响,而两个浮动元素之间是互不影响的. 在…
代码实例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>清除浮动方法一</title> <style> *{ margin:; padding:; } .father{ width: 500px; background-color: pink; } .son1, .son2{ height…
以前清除浮动的时候总是在想要清除浮动的元素后面添加 <div style="clear:both;"></div> 或者写在br标签里面来解决,但这样会增加无语义的标签,下面是用after伪类实现,兼容多种浏览器 .clearfix:after{ content:""; display:block; ; clear:both; visibility:hidden; } 为兼容IE6,IE7,因为ie6,ie7不能用after伪类.加上下面代码…
要想彻底清除浮动的影响,适合的属性不是 clear 而是 overflow. 一般使用 overflow:hidden,利用 BFC 的“结界”特性彻底解决浮动对外部或兄弟元素的影响. 1. 前言: 我们都知道overflow:hidden的字面意思是超出隐藏,说到这个超出隐藏就跟父元素的高度有关了,高度一定了的时候,超出隐藏才有依据. 我们知道当子元素开始浮动了,会脱离文档流,其父元素的高度就会变为0,这个时候页面其他元素就会向上占据位置,就会导致页面混乱. 这个时候我们在父元素设置overf…
伪类 基于当前元素所处的状态或具有的特性,用于设置元素自身的特殊效果. a:link  规定所有未被点击的链接: a:visited  匹配多有已被点击过的链接: a:active  匹配所有鼠标按下未松开的元素: a:hover  匹配所有鼠标移入/悬停在元素上的元素: :focus  被选中的元素: :first-child 元素的第一个子元素: :lang允许创作者来定义指定元素中使用的语言: 伪类的规定: 由于css的优先级问题,下面四个伪类需要按顺序书写,否则会出现问题 L(link)…
伪元素:(css3中将所有伪元素前变成了两个冒号,即::first-letter.::first-line.::before.::after.::selection.目的是为了区分伪元素与伪类.对于IE6~IE8,仅支持单冒号写法)1.::first-letter  :用来选择文本块的第一个首字母.2.::first-line :用来匹配元素的第一行文本.3.::befor 和 ::after :创建一个作为当前元素子元素的伪元素.常通过 content 属性来为一个元素添加修饰性的内容. 此元…
实例 1.清除浮动 通常我们清除清除浮动的方式就是在浮动元素后面添加一个空的Div标签,然后在设置它的清除浮动要是,使用after伪元素,我们就不需要添加无意义的div标签在html中了,下面的例子就使用了伪元素清除浮动 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style type="text/css"> ul { margin: 200p…
一. 浮动 1. 浮动的定义 使元素脱离文档流,按照向左或向右的方向移动,直到它的外边缘碰到包含它的框或另一个浮动框为止. 脱离文档流就是在页面中不占位置了. 左浮动右浮动此处就不再赘述了. 2. 看一下浮动的一些情况 (1). 只给第二个p浮动时,3不见了,他其实在2的下面,我给3一个宽一点的宽度.会发现3在2的下面. (2). 给3一个浮动 他会没有什么变化,因为浮动只会影响他后面的元素,如果上面的元素不浮动,他也不会上去的 (3). 把外边框的div宽度变小,会导致无法容纳所有的浮动元素,…
一.浮动 CSS浮动    CSS float浮动的深入研究.详解及拓展(一)    CSS浮动属性Float详解 块级元素独占一行 块级元素,在页面中独占一行,自上而下排列,也就是传说中的流. 可以看出,即使div1的宽度很小,页面中一行可以容下div1和div2,div2也不会排在div1后边,因为div元素是独占一行的. 注意,以上这些理论,是指标准流中的div.无论多么复杂的布局,其基本出发点均是:“如何在一行显示多个div元素”. 浮动 浮动:浮动的框可以左右移动,直至它的外边缘遇到包…
3.8 这是CSS里比较重要的属性:浮动,这个属性会在以后经常用到,算是一个重点吧 浮动 语法:float:left  |  right  |  none 特点: 浮动的元素不占位置,脱离了标准文档流(页面中标签的默认显示方式就是标准流) 浮动的元素可以实现元素的模式互换 同方向浮动的元素会顺次排列 浮动的元素顶端对齐 默认情况下,子元素浮动只会在父元素的区域之内(除非你刻意用margin把子元素弄出去) 父元素浮动会把子元素一起带跑 浮动前面有标准流,会漂浮到标准流的后面 值得注意的是:文字不…
盒模型 盒模型是有两种标准的,一个是标准模型,一个是IE模型. css如何设置两种模型 这里用到了CSS3 的属性 box-sizing /* 标准模型 */ box-sizing:content-box; /*IE模型*/ box-sizing:border-box; 行内元素 行内元素对margin的支持 行内元素不支持margin-top与margin-bottom.块级元素及行内块没有这个问题. 行内元素对padding的支持 行内元素设置padding-top会向上延伸一段距离,会覆盖…
目录 1:拖标.不占位.转行内块 2:首先浮动的盒子需要和标准流的父级搭配使用,其次 特别的注意浮动可以使元素显示模式体现为行内块特性. 3:清除浮动 前言 CSS的定位机制有3种:普通流(标准流).浮动和定位. 理论 特别注意,首先浮动的盒子需要和标准流的父级搭配使用, 其次 特别的注意浮动可以使元素显示模式体现为行内块特性. html语言当中另外一个相当重要的概念----------标准流!或者普通流.普通流实际上就是一个网页内标签元素正常从上到下,从左到右排列顺序的意思,比如块级元素会独占…
CSS(7)--- 通俗讲解清除浮动 上一篇讲了CSS浮动 博客地址:CSS(6)---通俗讲解浮动(float) 一.理解清除浮动 1.为什么要清除浮动 我们前面说过,浮动本质是用来做一些文字混排效果的,但是被我们拿来做布局用,则会有很多的问题出现. 由于浮动元素不再占用原文档流的位置,所以它会对后面的元素排版产生影响,为了解决这些问题,此时就需要在该元素中清除浮动. 准确地说,并不是清除浮动,而是清除浮动后造成的影响 2.清除浮动本质 清除浮动的本质: 主要为了解决父级元素因为子级浮动引起内…
浮动(float) 1.普通流(normal flow) 这个单词很多人翻译为 文档流 , 字面翻译 普通流 或者标准流都可以. 前面我们说过,网页布局的核心,就是用CSS来摆放盒子位置.如何把盒子摆放到合适的位置? CSS的定位机制有3种:普通流(标准流).浮动和定位. html语言当中另外一个相当重要的概念----------标准流!或者普通流.普通流实际上就是一个网页内标签元素正常从上到下,从左到右排列顺序的意思,比如块级元素会独占一行,行内元素会按顺序依次前后排列:按照这种大前提的布局排…
---恢复内容开始--- .container:before, .container:after { display: table; content: " "; } .container:after { clear: both; } 清除浮动有很多种?那么你们知道现在最常用的是哪一种呢? 在企业开发中,利用伪元素清除浮动是最佳选择之一. 那么,什么是利用伪元素清除浮动呢? 相信用过Bootstrap框架开发过项目的人都知道,废话不多说,直接上代码. 把产生的伪元素的display设置为…
在写页面布局的过程中,浮动是大家经常用的属性.在好多的排版布局中都是用的的浮动比如说下面这些地方都是应用到了浮动. 在我学习浮动的时候可是熬坏了脑筋,在这里我分享一下我对浮动这块知识的总结. 一.浮动的定义 使元素脱离文档流,按照指定的方向(左或右发生移动),直到它的外边缘碰到包含框或另一个浮动框的边框为止. 说到脱离文档流要说一下什么是文档流,文档流是是文档中可显示对象在排列时所占用的位置/空间,而脱离文档流就是在页面中不占位置了. 二.属性 float:left: 左浮动 float:rig…