CSS

来自夜航船
跳到导航 跳到搜索

CSS 概述

  • CSS 指层叠样式表 (Cascading Style Sheets)
  • 样式定义如何显示 HTML 元素
  • 样式通常存储在样式表中
  • 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题
  • 外部样式表可以极大提高工作效率
  • 外部样式表通常存储在 CSS 文件中
  • 多个样式定义可层叠为一

学习手册:http://www.w3school.com.cn/css/

集成框架:Bootstrap

高级:Less Sass

教程

Mastering CSS Video

Packtb Rich Finelli

  • CSS Foundations
  • Ramping Up
  • Creating A Page Layout With Floats
  • Creating Buttons With Modular, Reusable CSS Classes, And CSS3
  • Creating The Main Navigation And Drop
  • Becoming Responsive
  • Web Fonts
  • The Workflow Of Hidpi Devices
  • Wrapping Up

学习时间:2017年5月 - 6月

笔记

Loading

A collection of loading indicators animated with CSS http://tobiasahlin.com/spinkit/

https://github.com/tobiasahlin/SpinKit/

Selecter

.wikiEditor-ui-text > #wpTextbox1 {
	font-style: normal;
    font-variant: normal;
    font-weight: normal;
    font-stretch: normal;
    font-size: 12px;
    font-family: "Microsoft Yahei", Tahoma, Helvetica;
}

Float

一个简单的页面,居中对齐,左右两栏,效果:http://assets.chenzixin.com/css/float.html

.main {
	width: 1024px;
	margin: auto;
}
.entry {
	width: 500px;
	float: left;
}
.memory {
	width: 500px;
	float: right;
}
.clear {
	clear: both;
}

Fluid

Fluid Grid System

Media Queries

@media screen and (max-width: 300px) {
    body {
        background-color:lightblue;
    }
}

也可以针对不同的媒体使用不同 Stylesheets :

<link rel="stylesheet" media="mediatype and|not|only (media feature)" href="mystylesheet.css">

Font

中文排版:

我虽不是处女座,但身患晚期重度强迫症,喜欢两端对齐的中文排版,字体集取自WordPress

p {
	text-align: justify;
	text-justify: inter-ideograph;
	font-family: "Lucida Grande", "Lucida Sans Unicode", "Helvetica Neue", Arial, "Lantinghei SC", "Microsoft YaHei", sans-serif;
}

Opacity

分别通过CSS 和 JS 调整透明度:在线例子

<!DOCTYPE html>
<html>
 <head> 
  <script>
   function ChangeOpacity(x)
   {
   var opacity = x.options[x.selectedIndex].text;
   var el = document.getElementById("p1");
   if (el.style.opacity !== undefined)
   {
     	el.style.opacity = opacity;
   }
   else
	{
		alert("Your browser doesn't support this example!");
	}
   }
 </script>
 <style>
 	#p1 {opacity:0.5;}
 </style>

 </head> 
 <body> 
  <p id="p1">请从下面的例子中选择一个值,以改变此元素的不透明度。</p> 
  <select onchange="ChangeOpacity(this);" size="5">
  	<option>0 </option>
  	<option>0.2 </option>
  	<option>0.5 </option>
  	<option>0.8 </option>
  	<option selected="selected">1 </option>
  </select>   
 </body>
</html>

Important

提高指定CSS样式规则的应用优先权。

h3 {
	font-size: 1.2em;
	font-size: 100% !important;
}

Padding

像素支持小数。

padding: 2px;                 /** all 2px */
padding: 1.5px 2px 2px 1.5px; /** top right bottom left */
padding: 1em 2em;             /** top bottom 1em, right left 2em */
padding: 1em 2em 3em;         /** top 1em, right left 2em, bottom 3em */

Position

这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移。

http://www.w3school.com.cn/

body {
    margin: 0;
    padding: 0 10px 0 10px;
    height: 100%;
    overflow: auto;
    font-size: 12px;
}

#wrap {
    display: block;
    bottom: 0px;
    right: 1px;
    width: 300px;
    /*height: 200px;*/
    line-height: 30px;
    position: fixed;
    border: 1px solid silver;
    text-align: center;
}

* html {
    overflow-x: auto;
    overflow-y: auto;
}

* html #wrap {
    position: absolute;
}

HTML 结构

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Vam</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
<div style="height:3000px;"></div>

<div id="wrap">
    <script type="text/javascript" charset="utf-8">
        /* 太平洋电脑-右侧矩形CPE */
        vm_ad_client = "18010451"; //媒体ID
        vm_ad_slot = "1192906406"; //位置ID
        vm_ad_width = 300;         //宽度
        vm_ad_height = 250;        //高度
    </script>
    <script type="text/javascript" charset="utf-8" id="vm_18010451_1192906406" class="vamaker"
            src="//cdn.vamaker.com/vamaker/vamaker.c.js"></script>
</div>
</body>
</html>

给单文件的PHP相册加了一项功能,可以从首页直接切换到后台管理:

  • 复制 index.php 为 admin.php,打开密码选项和文件管理功能;
  • 在 index.php 中添加到 admin.php 的入口;
<!--VIM 3755G-->
<div style="position:relative;z-index:9999;text-align:right;pointer:cursor"><a href="admin.php">Admin</a></div>

z-index 必须和 position 搭配生效。

Transition

过渡效果:

div {
    width: 100px;
    height: 100px;
    background: blue;
    transition: all 2s;
    -moz-transition: width 2s; /* Firefox 4 */
    -webkit-transition: all 2s; /* Safari and Chrome */
    -o-transition: width 2s; /* Opera */
}

div:hover {
    width: 300px;
    height: 300px;
    background: red;
}

HTML 结构

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="style.css">
</head>
<body>
<div>
</div>
<p>
    请把鼠标指针移动到蓝色的 div 元素上,就可以看到过渡效果。
</p>
<p>
    <b>注释:</b>本例在 Internet Explorer 中无效。
</p>
</body>
</html>

Transform

向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜。

在线测试:http://www.w3school.com.cn/

div {
    margin: 30px;
    width: 200px;
    height: 60px;
    padding: 20px;
    background-color: yellow;
    /* Rotate div */
    transform: rotate(-9deg);
    -ms-transform: rotate(-9deg); /* Internet Explorer */
    -moz-transform: rotate(-9deg); /* Firefox */
    -webkit-transform: rotate(-19deg); /* Safari and Chrome */
    -o-transform: rotate(-9deg); /* Opera */
}
<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="style.css">
</head>
<body>
<div>
    Hello World
</div>
</body>
</html>

预处理器框架

  • Sass
  • Less CSS
  • Stylus

LESS介绍及其与Sass的差异

为您详细比较三个 CSS 预处理器:Sass、LESS 和 Stylus