Css总结

页面样式导入的方法及区别
<link rel="stylesheet" type="text/css" href="./css/index.css" />
<style type="text/css"></style>
@import
    @import url("global.css");
    @import url(global.css);
    @import "global.css";

link
  不仅可以加载css还可以定义rss等其他事物,无兼容问题
  支持使用js控制改变样式
  页面加载自上而下,权重大于@import
@import
  只能加载css,低版本的浏览器不支持
  不可以使用js控制改变样式
  先加载HTML后加载CSS,会导致内容闪烁

Css选择器,优先级

id选择器    (#myid)
类选择器   (.myclassname)
标签选择器  (div, h1, p)
相邻选择器  (h1 + p)
子选择器   (ul > li)
后代选择器  (li a)
通配符选择器   *
属性选择器 (a[rel="external"])
伪类选择器 (a:hover, li:nth-child)
优先级
   !important 比内联优先级高
   权重:
    内联1000,
    ID100,
    伪类/属性选择器10,
    类型选择器/伪元素选择器/标签选择器1,
    通用选择器(*)/子选择器(>)/相邻同胞选择器(+)0

块级元素、内联元素、空元素

行内元素:a span img input select
块级元素:div ul ol li dl dt dd h1 p
空元素: <link> <meta> <br> <hr>

重汇回流

重汇:渲染树中的元素外观(如:颜色)发生改变,不影响布局,会产生重绘
回流:渲染树的元素布局发生改变,会产生重绘回流,回流必定产生重绘,重绘一定不会产生回流
注:js获取layout属性值(offsetLeft、scrollTop等)也会引起回流,浏览器通过回流计算最新值

伪类,伪元素

伪类:单冒号(:)
伪元素:双冒号(::),用于向某些选择器设置特殊效果,::before,::after,::first-line,::first-letter

盒子模型box-sizing

标准盒子模型(默认:content-box): 宽度 = 内容的宽度(content) + border + padding + margin
IE盒子模型(border-box):     宽度 = 内容的宽度(content + border + padding) + margin

position定位

static(默认):    按照正常文档流进行排列;
relative(相对定位): 不脱离文档流,参考自身静态位置通过 top, bottom, left, right 定位;
absolute(绝对定位):  脱离文档流,参考距其最近一个不为static的父级元素通过top, bottom, left, right 定位;
fixed(固定定位):   所固定的参照对像是可视窗口。

浮动float

浮动元素,不在文档流中
带来的问题:
   a.父元素的高度无法被撑开,影响与父元素同级的元素
   b.与浮动元素同级的非浮动元素(内联元素)会跟随其后
   c.若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构。
清除的方式:
   a.父级div定义height
   b.最后一个浮动元素后加空div标签 并添加样式clear:both
   c.包含浮动元素的父标签添加样式overflow为hidden或auto。
   d.父级div定义zoom

rgba和hsla
/* IE8之前的版本不支持这两个属性 */
.div1{
    color:rgba(0,0,255,0.8)            /* rgba指的是"红色、绿色、蓝色、透明度",取值为0-255 或 0%-100% */
}
.div2{
    color:hsla(182,44%,76%,0.5)        /* hsla指的是"色调(0-360)、饱和度(0%-100%)、亮度(0%-100%)、透明度(0-1)" */
}
flex布局
.div{
    display:flex;
    flex-direction:row;            /* 方向,默认row;               row | row-reverse | column | column-reverse; */
    flex-wrap:nowrap;              /* 换行,默认nowrap;            nowrap | wrap | wrap-reverse */
    justify-content:flex-start;    /* 对其方式,默认flex-start;    flex-start | flex-end | center | space-between | space-around; */
    align-items:flex-start;        /* 交叉轴对齐,默认flex-start;  flex-start | flex-end | center | baseline | stretch; */
    align-content: flex-start;     /* 多根轴对齐,默认flex-start;  flex-start | flex-end | center | space-between | space-around | stretch; */
    flex:0;                        /* 占据的空间大小,默认0;        0,按比例,auto */
}
display

inline(默认)--内联
none--隐藏
block--块显示
table--表格显示
list-item--项目列表
inline-block
display:none,在页面中不占据位置,会产生回流和重绘问题
visibility:hidden,保留原来的位置*

overflow

scroll:必会出现滚动条,
auto:子元素内容大于父元素时出现滚动条
visible:溢出的内容出现在父元素之外
hidden:溢出隐藏

png、jpg、gif 这些图片格式解释一下,分别什么时候用。有没有了解过webp?

1.png 是便携式网络图片(Portable Network Graphics)是一种无损数据压缩位图文件格式.优点是:压缩比高,色彩好。 大多数地方都可以用。
2.jpg 是一种针对相片使用的一种失真压缩方法,是一种破坏性的压缩,在色调及颜色平滑变化做的不错。在www上,被用来储存和传输照片的格式。
3.gif 是一种位图文件格式,以8位色重现真色彩的图像。可以实现动画效果.
4.webp 格式是谷歌在2010年推出的图片格式,压缩率只有jpg的2/3,大小比png小了45%。缺点是压缩的时间更久了,兼容性不好,目前谷歌和opera支持。

Css Sprites

雪碧图,将一个页面涉及到的所有图片都包含到一张大图中去,然后利用CSS的 background-image,background- repeat,background-position 的组合进行背景定位。
能很好地减少网页的http请求,从而大大的提高页面的性能;

calc
/* calc,运算符前后需要保留一个空格 */
.sideBar{    
    width: calc(100% - 10px)
}
line-height

行高:指一行文字的高度,两行文字间基线的距离

元素竖向百分比

元素设置百分比的属性都是相对于宽度
单行文本垂直居中:height与line-height设置一样高

px,em,rem

px,相对长度,相对于显示器屏幕分辨率而言
em,相对长度,相对于父级元素的字体大小
rem,相对单位,相对于HTML根元素

为什么要初始化Css样式

因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面显示差异。

Css3新的特性
浏览器字体问题

浏览器最小字号为12px;若还想在小,transform: scale(0.7)缩放功能
建议使用偶数字号;偶数字号相对更容易和web设计的其他部分构成比例关系,Windows 自带的点阵宋体(中易宋体)从 Vista 开始只提供 12、14、16 px 这三个大小的点阵,而 13、15、17 px时用的是小一号的点。(即每个字占的空间大了 1 px,但点阵没变),于是略显稀疏。

移动端0.5px边框

建议采用 :after 1px然后transform: scale(0.5);

如果需要手动写动画,你认为最小时间间隔是多久,为什么?

多数显示器默认频率是60Hz,即1秒刷新60次,所以理论上最小间隔为1/60*1000ms = 16.7ms。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,722评论 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,400评论 1 45
  • 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握CSS三种显示...
    七彩小鹿阅读 6,303评论 2 66
  • 标签(空格分隔): 面试准备 [TOC] 3.1、谈谈你对CSS布局的理解 3.2、请列举几种可以清除浮动的方法(...
    niices阅读 548评论 0 3
  • 对于你我再也不会相信,在家人与同事之间你选择了同事,我明白了什么才是最重要的……
    灵魂的向往阅读 128评论 0 0