js基础

CSS 笔记

2014-12-03  本文已影响451人  糯米馨

终于把电脑里扔了好久的js撸完了,把css也撸一下。
还是那句话,这些是到处收集来的笔记,非原创。
更新的会写上来源,以前库存的就抱歉了,因为不知道从哪收集来的了。

CSS 笔记撸起来

布局类

分栏高度自动相等

margin-bottom:-3000px; padding-bottom:3000px;

说明:核心CSS代码部分的3000像素是个可变值,如果您的分栏高度不可能高度超过2000像素,您就可以设为2000像素,如果会超过3000像素,那么您要修改值为4000像素或是更高。
父标签的overflow:hidden属性是必须的,否则会显示溢出的内容。
CSS代码:
#test{overflow:hidden; zoom:1;}
.left{width:200px; margin-bottom:-3000px; padding-bottom:3000px; background:#cad5eb; float:left;}
.right{width:400px; margin-bottom:-3000px; padding-bottom:3000px; background:#f0f3f9; float:right;}
.center{height:300px; margin:0 410px 0 210px; background:#ffe6b8;}
HTML代码:

<div id="test">
    <div class="left">左边,无高度属性,自适应于最高一栏的高度</div>
    <div class="right">右边,无高度属性,自适应于最高一栏的高度</div>
    <div class="center">中间,高度300像素,左右两栏的高度与之自适应</div>
</div>

适配类

屏幕宽度

//Max Width
@media screen and (max-width: 600px) {
}
//Min Width
@media screen and (min-width: 900px) {
}
//Multiple Media Queries
@media screen and (min-width: 600px) and (max-width: 900px) {
}
//Device Width
@media screen and (max-device-width: 480px) {
} 

css link时适配

//设备像素比
<link rel="stylesheet" media="only screen and (-webkit-min-device-pixel-ratio: 2)" type="text/css" href="iphone4.css" />
//横屏和竖屏
<link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css"> 
<link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css"> 
//屏幕大小
<link rel="stylesheet" media="screen and (max-width: 600px)" href="small.css" />

页面高宽相关

原生js获取

网页可见区域宽:document.body.clientWidth; 
网页可见区域高:document.body.clientHeight; 
网页可见区域高:document.body.offsetWidth   
(包括边线的宽);
网页可见区域高:document.body.offsetHeight 
(包括边线的宽);
网页正文全文宽:document.body.scrollWidth; 
网页正文全文高:document.body.scrollHeight; 
网页被卷去的高:document.body.scrollTop; 
网页被卷去的左:document.body.scrollLeft; 
网页正文部分上:window.screenTop; 
网页正文部分左:window.screenLeft; 
屏幕分辨率的高:window.screen.height; 
屏幕分辨率的宽:window.screen.width; 
屏幕可用工作区高度:window.screen.availHeight; 
屏幕可用工作区宽度:window.screen.availWidth;

jquery获取

获取浏览器显示区域(可视区域)的高度 :   
$(window).height();   
获取浏览器显示区域(可视区域)的宽度 :
$(window).width();   
获取页面的文档高度   
$(document).height();   
获取页面的文档宽度 :
$(document).width(); 
浏览器当前窗口文档body的高度:  
$(document.body).height();
浏览器当前窗口文档body的宽度: 
$(document.body).width();
获取滚动条到顶部的垂直高度 (即网页被卷上去的高度)  
$(document).scrollTop();   
获取滚动条到左边的垂直宽度 :
$(document).scrollLeft(); 
获取或设置元素的宽度:
$(obj).width();
获取或设置元素的高度:
$(obj).height();
某个元素的上边界到body最顶部的距离:obj.offset().top;(在元素的包含元素不含滚动条的情况下)
某个元素的左边界到body最左边的距离:obj.offset().left;(在元素的包含元素不含滚动条的情况下)
返回当前元素的上边界到它的包含元素的上边界的偏移量:obj.offset().top(在元素的包含元素含滚动条的情况下)
返回当前元素的左边界到它的包含元素的左边界的偏移量:obj.offset().left(在元素的包含元素含滚动条的情况下)

css3动画

先让我吐个槽 各种前缀 简直要瞎了 幸好我都是复制黏贴的
使用方法,给div加上这些class就好了,比如

<div class='animated bounceoutleft'></div>

基础部分走起

.animated{
    -webkit-animation-duration: 10s;//一轮动画所需时间
    -moz-animation-duration: 10s;
    -o-animation-duration: 10s;
    animation-duration: 10s;
    -webkit-animation-fill-mode: both;//动画时间之外的状态,'none'不改变默认行为;'forwards'动画完成后保持最后一个属性值(在最后一个关键帧中定义);'backwards'在 animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值(在第一个关键帧中定义);'both'向前和向后填充模式都被应用
    -moz-animation-fill-mode: both;
    -o-animation-fill-mode: both;
    animation-fill-mode: both;  
    animation-iteration-count:infinite;//播放次数 n(次数)|infinite(无限)
    -webkit-animation-iteration-count:infinite;         
}

效果部分走起,这是个从中间移动到最左边渐隐的效果。要看效果→戳我

.animated.bounceoutleft {
    -webkit-animation-name: bounceoutleft;//动画名字
    -moz-animation-name: bounceoutleft;
    -o-animation-name: bounceoutleft;
    animation-name: bounceoutleft;
}   
@-webkit-keyframes bounceoutleft {
    0% {
        left: 50%;
    }
    100% {
        left: 0;
        opacity: 0;
    }
}
@-moz-keyframes bounceoutleft {
    0% {
        left: 50%;
    }
    100% {
        left: 0;
        opacity: 0;
    }
}
@-o-keyframes bounceoutleft {
    0% {
        left: 50%;
    }
    100% {
        left: 0;
        opacity: 0;
    }
}
@keyframes bounceoutleft {
    0% {
        left: 50%;
    }
    100% {
        left: 0;
        opacity: 0;
    }
}

一样在理,来个属性一览

animation: name duration timing-function delay iteration-count direction;//组合写法
animation-name: keyframename|none;
animation-duration: time;
animation-timing-function: linear|ease|ease-in|ease-out|ease-in-out|cubic-bezier(n,n,n,n);
animation-delay: time;
animation-iteration-count: n|infinite;
animation-direction: normal|alternate;

网页字体设置

来源:http://ued.ctrip.com/blog/?p=3589
移动端项目:

font-family:Tahoma,Arial,Roboto,"Droid Sans","Helvetica Neue","Droid Sans Fallback","Heiti SC",sans-serif;

pc端(含Mac)项目:

 font-family:Tahoma,Arial,"Helvetica Neue","Hiragino Sans GB",Simsun,sans-serif;

移动和pc端项目:

font-family:Tahoma,Arial,Roboto,"Droid Sans","Helvetica Neue","Droid Sans Fallback","Heiti SC","Hiragino Sans GB",Simsun,sans-serif;

各种零散tips

不显示文字

text-indent: -9999em;
overflow: hidden;
float: left; //当然也可以float: right;

超过显示范围后变点点

display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 190px; //宽度一定要加

子元素浮动,父元素要有高

overflow:auto;zoom:1;//①让父元素自己浮动起来也有高,这办法可以临时用用 看看子元素整体占的大小;②子元素浮动父元素absolute可以去除浮动影响

ie9以下通用hack

color#0000FF\9;所有IE浏览器(IE6+)支持;

ul中的li居中

ul {
    text-align: center;
}

li {
     display: inline;
     float: none;
     _float: left;//IE6
     margin-right: 5px;//间隔
}

图片垂直居中

.img{
    vertical-align:center;
}

a链接去掉虚线

手机端的firefox会有这个问题
直接

a{ outline:none; } 

image-set实现Retina屏幕下图片显示

background-image: -webkit-image-set(url(images/pic_1x.png) 1x,url(images/pic_2x.png) 2x);

iphone6兼容

@media (device-width:375px) and (-webkit-min-device-pixel-ratio:2){/* 兼容iphone 6 */
.class{}
}
@media (device-width:414px) and (-webkit-min-device-pixel-ratio:2.6){/* 兼容iphone6 plus */
.class{}
}

修改select样式

.test_select{
    line-height: 32px;
    border-color: #fff;
    /*border: 1px solid #ccc;*/
    border-radius: 3px;
    padding: 3px;
    vertical-align: middle;
}
:-webkit-any(.test_select){
    height: 34px;
    line-height: 24px;
    background-position: right 3px;
    background-repeat: no-repeat;
    background-image: url(images/angle.fw.png);
};

撸完,收工!

上一篇下一篇

猜你喜欢

热点阅读