CSS基础知识点

清除浮动的方式

1、额外标签法(在最后一个浮动标签后,新增加一个标签,给其设置clear: both;)不建议使用
  • 缺点:添加无意义标签
2、父级添加overflow属性(overflow:hidden)(不推荐)

通过触发BFC方式,实现清除浮动

  • 缺点:内容增多的时候容易造成不会自动换行导致内容被隐藏掉,无法显示要溢出的元素
3、使用after伪元素清除浮动(推荐使用)
.clearfix:after{/*伪元素是行内元素 正常浏览器清除浮动方法*/
  content: "";
  display: block;
  height: 0;
  clear:both;
  visibility: hidden;
}
.clearfix{
  *zoom: 1;/*ie6清除浮动的方式 *号只有IE6-IE7执行,其他浏览器不执行*/
}
4、使用before和after双伪元素清除浮动
.clearfix:after,.clearfix:before{
  content: "";
  display: table;
}
.clearfix:after{
  clear: both;
}
.clearfix{
  *zoom: 1;
}
5、父级div定义height
  • 缺点:只适合高度固定的布局,要给出精确的高度,如果高度和父级div不一样时,会产生问题

过渡transition 动画animation

过渡动画:是从一个状态 渐渐的过渡到另外一个状态,经常和 :hover 一起 搭配使用。

  • transition(简写属性): 要过渡的属性 花费时间 运动曲线 何时开始
  1. transition-property:(none | all | property)为哪些属性设置过渡效果
  2. transition-duration:定义过渡效果花费的时间。默认是 0
  3. transition-timing-function:(linear|ease|ease-in|ease-out|ease-in-out)规定过渡效果的时间曲线。默认是 "ease"。
  4. transition-delay:规定过渡效果何时开始。默认是 0。
    注:如果想要所有的属性都变化过渡, 写一个all 就可以。
.father .small {
    width: 100px;
    height: 100px;
    background-color: darkcyan;
    float: left;
    /*1. transition: 要过渡的属性  花费时间  运动曲线  何时开始;*/
    /*2. 如果有多组属性,我们用逗号隔开*/
    /*transition: width 1s ease 0s, height 1s ease 0s, background-color 1s ease 0s;*/
    /*3. all 所有属性都会变化*/
    /*transition:  all 1s ease 0s;*/
    /*4. 过渡写到本身上,而不是 hover里面*/
    /*transition: all 0.5s;*/
    /*5. 扩展,可以设置不同时进行的动画*/
    transition: width 1s, height 1s linear 1s, background-color 1s, transform 1s;
}

.father .small:hover {/* 鼠标经过盒子,我们的宽度变宽200,高度变高200 red */
    width: 200px;
    height: 200px;
    background-color: red;
    transform:rotate(45deg);
}

动画animation

animation: name  duration  timing-function   delay    iteration-count    direction;

默认值: none 0 ease 0 1 normal

  • animation-name : 要绑定到选择器的关键帧(动画)名称
  • animation-duration : 动画持续时间
  • animation-timing-function : 动画的速度变化
  • animation-delay : 延迟执行的时间
  • animation-iteration-count : 动画的播放次数
  • animation-direction : 动画运动的方向
.father .small {
    width: 100px;
    height: 100px;
    background-color: darkcyan;
    float: left;
    position: relative;  /*这里一定要改为相对布局,否则位置不能改变*/
    animation: anim 5s infinite alternate;
}
/*animation:后anim表示这个动画的名字,后面是持续5s*/
/*infinite(无限的,无数的)alternate(交替的轮流的)合在一起:无限轮替*/
@keyframes  anim{
    0%{background-color: cornflowerblue;left: 0px;top: 0px}
    25%{background:skyblue;left: 200px;top:0}
    50%{background-color: deepskyblue;left: 200px;top: 200px}
    75%{background-color: aqua;left: 0px;top: 200px}
    100%{background-color:cornflowerblue;left: 0px;top: 0px}
}

左边固定,右边自适应布局。

  1. 左边左浮动,右边加个overflow:hidden;(注意,右边margin-left数值小于左边的宽度则无效)
   #lt{ float: left;width:200px; background: #ff0;}
   #rt{ overflow: hidden; background: #f0f;}
  1. 左边左浮动,右边加个margin-left;
   #lt{ float: left; width:200px; background: #ff0;}
   #rt{ margin-left: 200px; background: #f0f;}
  1. 左边绝对定位absolute或fixed,右边加个margin-left;
   #lt{ position: absolute; top:0; left:0; width:200px; background: #ff0;}
   #rt{ margin-left: 200px; background: #f0f;}
  1. 左右两边绝对定位,右边加个width,top,left,right
   #lt{ position: absolute; top:0 ; left:0 ;width:200px; background: #ff0;}
   #rt{ position: absolute; top:0 ; left:200px; width: 100% ; rigth:0;background: #f0f;}

右边固定,左边自适应的布局

  1. 左边左浮动,margin-left负值,右边右浮动;
   #lt{float:left; width:100%;background: #00f;margin-right: -200px;}
   #rt{float: right; width: 200px;background: #ff0;}
  1. 右边绝对定位,左边margin-right;
   #lt{margin-right:200px; background: #00f;}
   #rt{ position: absolute; right:0; top:0; width: 200px;background: #ff0;}
  1. 左右两边绝对定位,左边加个width,top,left,right
   #lt{ position: absolute; top:0; left:0; rigth:0; width: 100% ; background: #f0f;}
   #rt{ position: absolute; top:0; left:200px; width:200px; background: #ff0;}

flex布局

  • flex-container的属性有flex-direction, flex-wrap, justify-content, align-items, align-content
flex-direction(主轴方向):

1、 row(布局为一行,从start开始排)
2、 row-reverse(布局为一行,从end开始排)
3、column(布局为一列,从start开始排)
4、column-reverse(布局为一列,从end开始排)

flex-wrap(一条轴线排不下如何换行):

1、nowarp (不换行,在一行显示)
2、wrap(内容超过后换行)
3、warp-reverse(换行后有两条轴线,reverse就是把轴线排列的顺序倒置过来)

justify-content(主轴对齐方式):

1、 flex-start (start侧对齐,左对齐)
2、flex-end(end侧对齐,右对齐)
3、center(中心对齐)
4、space-between(左右两侧没有间距,中间间距相同)
5、space-around(左右两侧的间距为中间间距的一半)

align-items(交叉轴对齐方式):

1、stretch; (拉伸)
2、flex-start(start侧开始,上对齐)
3、flex-end(end侧开始,下对齐)
4、center (中心对齐)
5、baseline(基线对齐)

align-content(多根轴线对齐方式):

1)stretch (拉伸)
2)flex-start (start侧开始,上对齐)
3)flex-end(end侧开始,下对齐)
4)center (中心对齐)
5)space-between(上下没有间距,中间各子元素间距相同)
6)space-around (上下间距之和等于中间各个间距)

flex-item相关属性有order,flex-grow,flex-shrink,flex-basis,align-self
  • order(排列顺序)
  • flex-grow(放大比例,剩余空间怎么分配,如下图所示,剩余空间的分配比例是1:2:1)
  • flex-shrink (缩小比例,超出空间怎么压缩)
  • flex-basis (item所占主轴空间,优先级高于width)
  • align-self (对齐方式,覆盖align-items)
    参考文章
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,333评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,812评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,016评论 0 246
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,293评论 0 214
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,650评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,788评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,003评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,741评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,462评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,681评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,168评论 1 262
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,528评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,169评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,119评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,902评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,846评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,719评论 2 274