Css相关笔记

1.sort排序 从小到大
从大到小排序
例子:
let num = [21,4,5,65,10,4];
num.sort(function(a,b){
return b-a;
})
console.log(num); //[ 65, 21, 10, 5, 4, 4 ]
像素排序
let nums = ['200px','10px','300px','60px'];
nums.sort(function(a,b){
return parseInt(a)-parseInt(b);
})
console.log(nums); //['10px','60px','200px','300px']

2.随机数的公式
//x-y之间的随机数
Math.round( Math.random() * (y-x) + x )

//0-x之间的随机数
Math.round( Math.random() * x );

//1-x之间的随机数
Math.ceil( Math.random() * x );

3.BOM 和 Event
window.navigator.userAgent //浏览器信息 可以用来判断是不是IE浏览器
window.location: 浏览器地址信息
window.location.href: url
window.location.search: url问号?后面的内容
window.location.hash: url井号#后面的内容

4.bootstrap
bootstrap是最受欢迎且简洁、直观、强悍的前端开发,包含html、css和js基础框架,
用于开发响应式布局,移动设备优先的web项目,让web开发更迅速、简单。

css3的属性选择器
div[id |= "shu"]{
color: red;
}

5.响应式介绍
媒询(@media)
在对于的媒体设备和媒体特征下,解析对应的媒询样式

媒体设备
all所有
screen彩屏

媒体特征(从小屏幕写到大屏幕)
max-width
min-width
媒体关键词
not
and
only
@media all and (min-width:960px){color:pink} //1.所有设备2.最小宽度960px

6.CSS3笔记
Css3选择器-结构性伪类
E:nth-child(n) 表示E父元素中的第n个字节点
p:nth-child(odd){background:red} //匹配奇数行
p:nth-child(even){background:yellow} //匹配偶数行
p:nth-child(2n){bakcground} //类型偶数
注意:p:nth-child(2)找p标签父级下的第二个子元素,并且这个元素还是p标签
E:nth-last-child(n)表示E父元素中的第n个字节点,从后向前计算
E:nth-of-type(n)表示E父元素中的第n个字节点,且类型为E
E:nth-last-of-type(n)表示E父元素中的第n个字节点,且类型为E,从后向前结算
E:empty 表示E元素中没有子节点。注意:子节点包含文本节点

E:first-child 表示E元素中的第一个子节点
E:last-child 表示E元素中的最后一个子节点
E:first-of-type 表示E父元素中的第一个子节点且节点类型是E的
E:last-of-type 表示E父元素中的最后一个子节点且节点类型是E的
E:only-child表示E元素中只有一个字节点。注意:子节点不包含文本节点。
E:only-of-type表示E的父元素只有一个子节点,且这个唯一的子节点的类型必须是E。注意:子节点不包含文本系欸但。

Css3选择器-伪类
E:target表示当前的URL片段的元素类型,这个类型必须是E
E:disabled表示不可点击的表单控件
E:enabled表示可点击的表单控件
E:checked表示已选中的checkbox或radio
E:first-line表示E元素中的第一行
E:first-letter表示E元素中的第一个字符(用了该元素该字符选中不了)
E::selection表示E元素在用户选中文字时
E::before生成内容在E元素前
E::after生产内容在E元素后
E:not(s)表示E元素不被匹配
E~F表示E元素毗邻的F元素
Content属性

CSS3新增颜色模式
rgba
r red 红 0-255
g green 绿 0-255
b blue 蓝 0-255
a aplha 透明 0-1

实例:背景透明,文字不透明
问题:注意边框颜色透明有问题

文字阴影
text-shadow:x y blur color, ...
参数
x 横向偏移
y 纵向偏移
blur 模糊距离
color 阴影颜色
注意:文本阴影如果加很多层,会很卡很卡很卡

文字阴影的应用
最简单的用法
text-shadow: 2px 2px 4px black;
阴影叠加
text-shadow: 2px 2px 0px red, 2px 2px 4px green;
先渲染后面的,在渲染前面的
层叠
color: red;font-size: 100px;font-weight:bold;text-shadow: 2px 2px 0 white,4p 4px 0 red;
光晕
color:white;font-size:100px;text-shadow:0 0 10px #fff,0 0 20px #ffff,
0 0 30px #fff, 0 0 40px #ff00de,0 0 70px # ff00de, 0 0 80px #ff00de,
0 0 100px #ff00de, 0 0 150px #ff00de;

文字描边
-webkit-text-stroke:宽度 颜色

新增文本功能
Direction 定义文本排列方式(全兼容)
Rtl 从右向左排列
Ltr 从左向右排列
注意要配合unicode-bidi 一块使用 unicode-bidi:bidi-override;

Text-overflow 定义省略文本的处理方式
clip 无省略号
ellipsis省略号
注意配合overflow:hidden和white-space:nowrap一块使用

7.弹性盒模型
注意在使用弹性盒模型的时候,父元素必须要加display:box或display:inline-box
Box-orient定义盒模型的布局方向
Horizontal 水平显示 默认
vertical 垂直方向
Box-direction元素排列顺序
Normal 正常
Reverse反序
Box-ordinal-group设置元素的具体位置1,2,3...
Box-flex定义盒子的弹性空间 -webkit-box-flex:1
子元素的尺寸=盒子的尺寸*子元素的box-flex属性值/所有子元素的box-flex属性值的和
Box-pack 对盒子富裕的空间进行管理
Star 所有子元素在盒子左侧显示,富裕空间在右侧
end所有子元素在盒子的右侧显示,富裕空间在左侧
center所有子元素居中
justify富余空间在子元素之间平均分布
Box-align 在垂直方向上对元素的位置进行管理
Star所有子元素在顶部
end所有子元素在底部
center所有子元素居中

8.盒模型的阴影 可以多层叠加
box-shadow:[inset] x y blur [spread] color
参数
inset:投影方式
inset: 内投影
不给: 外投影
x、y:阴影偏移
blur:模糊半径
spread:扩展阴影半径
线扩展原有的形状,再开始画阴影
color

  1. 其它盒模型新增属性
    box-reflect倒影
    direction方向 above|below|left|right;
    距离 10px
    渐变(可选)-webkit-linear-gradient(red,yellow)
    resize自由缩放
    Both 水平垂直都可以缩放
    Horizontal只有水平方向可以缩放
    Vertical只有垂直方向可以缩放
    注意:一定要配合overflow:auto 一块使用只有水平方向可以缩放
    Box-sizing 盒模型解析模式
    Content-box 标准盒模型
    width/height = border + padding +content
    Border-box 怪异盒模型 width/height = content

Css3分栏布局
column-width 栏目宽度
column-count栏目列数
column-gap栏目距离
column-rule栏目间隔线

圆角
border-radius:1-4个数字/1-4个数字
前面是水平,后面是垂直
不给"/"则水平和垂直一样
border-radius:10px/5px;
参数
各种长度单位都可以:px,%,...
%有时候很方便,但宽高不一致时不太好

边框
边框图片border-image
border-image-sourceg 引入图片
border-image-slice 切割图片
border-image-width 边框宽度
border-image-repeat 图片的排列方式
-round平铺,repeat重复,stretch拉伸
边框颜色border-colors

线性渐变
线性渐变格式
linear-gradient([<起点> || <角度>,] ? <点>,<点>...)
linear-gradient(60deg,red 0, blue 50%,pink 100%);
只能用在背景上
IE
filter:progid:DXImageTransform.Microsoft.gradient(start Colorstr="#ffffff",endColorstr="#ff0000",GradientType='1')
参数
-起点:从什么方向开始渐变 默认:top

left、top、left top
-角度:从什么角度开始渐变
xxx deg的形式
-点:渐变点的颜色和位置
black 50%,位置可选

线性渐变实例
最简单
red,green从上到下
起点位置
left top,red,green
30deg,red,green
平铺:repeating-linear-gradient

10.DOM优化
减少Dom操作
尽量用节点克隆
-cloneNode
访问元素集合
-尽量用局部变量
元素节点
-尽量用只获取元素的节点方法
选择器API
-利用querySelector、querySelectorAll
1.用变量声明document
var doc = document;
2.用变量声明list.length
var len = list.length;

Dom与浏览器
重排: 改变页面的内容
重绘: 浏览器显示内容
添加顺序
-尽量在appendChild前添加操作
合并dom操作
-利用cssText
例子: 
    ele.style.width = '100px';
    ele.style.height = '100px';
    性能比较好:ele.style.cssText = 'width:100px;height:100px'
缓存布局信息
例子:
    var oDiv = document.getElementById("div");
    var L = oDiv.offsetLeft; //把变量提上来缓存信息性能会比较好点
    var T =oDiv.offsetTop;

    setInterval(function(){
        L++;
        T++
        oDiv.style.left = L +'px';
        oDiv.style.top = T + 'px';
    })
文档碎片
-createDocumentFragment();
例子:
    var oul = document.getElmentById('ull');
    
    for(var i =0;i < 5000; i++){ //5000次重排和重绘
        var oli = document.createElment("li");
        oul.appendChild(oli);
    }

文档碎片优化
    var oul = document.getElmentById('ull');
    var ofrag = document.createDocumentFragment();
    
    for(var i =0;i < 5000; i++){ //5000次重排和重绘
        var oli = document.createElment("li");
        ofrag.appendChild(oli);
    }
    
    oul.appendChild(ofrag);
    console.timeEnd('miao');

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

推荐阅读更多精彩内容

  • 1.1CSS 基础与选择器初识 | CSS 1. CSS 加载方式有几种? CSS样式加载一共有四种方式: 1、行...
    没糖_cristalle阅读 710评论 0 0
  • 一、CSS入门 1、css选择器 选择器的作用是“用于确定(选定)要进行样式设定的标签(元素)”。 有若干种形式的...
    宠辱不惊丶岁月静好阅读 1,593评论 0 6
  • 初始CSS3 什么是CSS3? CSS3是CSS2的升级版本,3只是版本号,它在CSS2.1的基础上增加了很多强大...
    llt00阅读 429评论 0 0
  • 1.Label的作用是什么?是怎么用的 答案: label标签来定义表单控制间的关系当用户选择该标签时,浏览器会自...
    耶啵_阅读 725评论 0 0
  • CSS简介 CSS(Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应...
    多喝热水z阅读 509评论 0 4