css3 基础课程笔记

多列布局

以下属性多需要加前缀:-webkit-/-moz-/-o-/-ms-/自身

columns: ||

列宽/列数

eg:columns:200px 3;


column-gap: normal ||

列间距

eg:column-gap: 2em;


column-rule:||

列表边框

eg:column-rule: 2px dotted green;


column-span: none | all

跨列设置

eg:column-span:all


盒子模型

box-sizing: content-box | border-box | inherit

    (1)content-box:

    最终呈现的宽度或高度 = 定义的宽度或高度(即内容宽度或高度) + 边框 + 内距

    (2)border-box:

    内容宽度或高度 = 定义的宽度或高度 - 边框 - 内距

eg:box-sizing:border-box;


伸缩布局

display: -webkit-flex; display: flex;

水平:

-webkit-flex-direction: row; flex-direction: row;
-webkit-justify-content: flex-start; justify-content: flex-start;(左对齐)
-webkit-justify-content: center; justify-content: center;(居中对齐)
-webkit-justify-content: flex-end; justify-content: flex-end;(右对齐)

垂直:
-webkit-flex-direction: column; flex-direction: column;
-webkit-align-items: flex-start; align-items: flex-start;(左对齐)
-webkit-align-items: center; align-items: center;(居中对齐)
-webkit-align-items: flex-end; align-items: flex-end;(右对齐)

Media Queries

Media Queries我们需要了解其中的两个重要部分,第一个是媒体类型,第二个是媒体特性。

@media 媒体类型and (媒体特性){你的样式}

一、媒体类型

(1)媒体类型(Media Type)在CSS2中是一个常见的属性,也是一个非常有用的属性,可以通过媒体类型对不同的设备指定不同的样式。

css3 基础课程笔记_第1张图片

其中Screen、All和Print为最常见的三种媒体类型。

(2)媒体类型的引用方法也有多种:

link方法


@media方法

@media是CSS3中新引进的一个特性,被称为媒体查询。在页面中也可以通过这个属性来引入媒体类型。@media引入媒体类型和@import有点类似也具有两方式。
=>在样式文件中引用媒体类型:
@media screen {
   选择器{/*你的样式代码写在这里…*/}
}

=>使用@media引入媒体类型的方式是在标签中的 (3)使用方法

=>最大宽度max-width

@media screen and (max-width:480px){
 .ads {
   display:none;
  }
}
=>最小宽度min-width

@media screen and (min-width:900px){
.wrapper{width: 980px;}
}
=>多个媒体特性使用
@media screen and (min-width:600px) and (max-width:900px){
  body {background-color:#f5f5f5;}
}
=>设备屏幕的输出宽度Device Width

在智能设备上,例如iPhone、iPad等,还可以根据屏幕设备的尺寸来设置相应的样式(或者调用相应的样式文件)。同样的,对于屏幕设备同样可以使用“min/max”对应参数,如“min-device-width”或者“max-device-width”。

上面的代码指的是“iphone.css”样式适用于最大设备宽度为480px,比如说iPhone上的显示,这里的“max-device-width”所指的是设备的实际分辨率,也就是指可视面积分辨率。

=>not关键词

@media not print and (max-width: 1200px){样式代码}

=>only关键词

=>多条语句来将同一个样式应用于不同的媒体类型和媒体特性中,指定方式如下所示。



Responsive设计

一、流体网格

流体网格是一个简单的网格系统,这种网格设计参考了流体设计中的网格系统,将每个网格格子使用百分比单位来控制网格大小。这种网格系统最大的好处是让你的网格大小随

时根据屏幕尺寸大小做出相对应的比例缩放。

二、弹性图片

弹性图片指的是不给图片设置固定尺寸,而是根据流体网格进行缩放,用于适应各种网格的尺寸。而实现方法是比较简单,一句代码就能搞定的事情。

img {max-width:100%;}
不幸的是,这句代码在IE8浏览器存在一个严重的问题,让你的图片会失踪。

一个断点解决图片自适应的例子。


@media (min-device-width:600px){
img[data-src-600px]{
  content: attr(data-src-600px,url);
  }
}
@media (min-device-width:800px){
  img[data-src-800px] {
  content:attr(data-src-800px,url);
  }
}

Responsive布局技巧

在Responsive布局中,可以毫无保留的丢弃:

第一, 尽量少用无关紧要的div;

第二,不要使用内联元素(inline);

第三,尽量少用JS或flash;

第四,丢弃没用的绝对定位和浮动样式;

第五,摒弃任何冗余结构和不使用100%设置。

Responsive更好的布局

第一,使用HTML5 Doctype和相关指南;

第二,重置好你的样式(reset.css);

第三,一个简单的有语义的核心布局;

第四,给重要的网页元素使用简单的技巧,比如导航菜单之类元素。

使用这些技巧,无非是为了保持你的HTML简单干净,而且在你的页面布局中的关键部分(元素)不要过分的依赖现代技巧来实现,比如说CSS3特效或者JS脚本。

说了这么多,怎么样的布局或者说HTML结构才是简单干净的呢?这里教大家一个快速测试的方法。你首先禁掉你页面中所有的样式(以及与样式相关的信息),在浏览器中打

开,如果你的内容排列有序,方便阅读,那么你的这个结构不会差到哪里去。

Responsive设计——meta标签

最后还有一个不可或缺的东东,那就是meta标签,可以说,在响应式设计中如果没有这个meta标签,你就是蹩脚的,响应式设计就是空谈。

在content属性中主要包括以下属性值,用来处理可视区域。

css3 基础课程笔记_第2张图片


在实际项目中,为了让Responsive设计在智能设备中能显示正常,也就是浏览Web页面适应屏幕的大小,显示在屏幕上,可以通过这个可视区域的meta标签进行重置,告诉

他使用设备的宽度为视图的宽度,也就是说禁止其默认的自适应页面的效果,具体设置如下:

另外一点,由于Responsive设计是结合CSS3的Media Queries属性,才能尽显Responsive设计风格,但大家都清楚,在IE6-8中完全是不支持CSS3 Media。下面我们一起来

看看CSS3 Meida Queries在标准设备上的运用,大家可以把这些样式加到你的样式文件中,或者单独创建一个名为“responsive.css”文件,并在相应的条件中写上你的样式,

让他适合你的设计需求。

脚本下载地址:

media-queries.js(http://code.google.com/p/css3-mediaqueries-js/)      

 respond.js(https://github.com/scottjehl/Respond)

 
      


Responsive设计——不同设备的分辨率设置

1.1024px显屏

@media screen and (max-width : 1024px) {                    
/* 样式写在这里 */          
}  
2.800px显屏

@media screen and (max-width : 800px) {              
/* 样式写在这里 */          
} 
3.640px显屏
@media screen and (max-width : 640px) {              
/* 样式写在这*/            
} 
4.iPad横板显屏
@media screen and (max-device-width: 1024px) and (orientation: landscape) {              
/* 样式写在这 */            
} 
5.iPad竖板显屏
@media screen and (max-device-width: 768px) and (orientation: portrait) {         
/* 样式写在这 */            
}
6.iPhone 和 Smartphones
@media screen and (min-device-width: 320px) and (min-device-width: 480px) {              
/* 样式写在这 */            
} 

成熟应用:

@media (max-width: 480px) { ... }            
@media (max-width: 768px) { ... }              
@media (min-width: 768px) and (max-width: 980px) { ... }      
@media (min-width: 1200px) { .. }



你可能感兴趣的:(css&css3,Css3)