JC专题华南理工大学无线电爱好者协会软件小组首页投稿(暂停使用,暂停投稿)

How to learn CSS

2016-09-27  本文已影响471人  唐紫依

前言

本人垃圾,害人无数。望各位高人路过批评指正,不胜感激。本文仅介绍笔者所认为的CSS知识主干,学习的方法跟HTML类似,只需记住属性及属性值的种类即可。

零、Introduce&Install

1 语言介绍

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>My title</title>
    <style>
        p{
            color: red;
            background-color: gray;
        }
    </style>
  </head>
  <body>
    <p>This is a paragraph.</p>
  </body>
</html>
运行效果图

2 引入样式表

<!-- 推荐使用这种 -->
<link rel="stylesheet" type="text/css" href="..example/sheet.css" media="all" />
<style type="text/css">
     selector{
        property: value;
    }
</style>
<p style="color: red;"> red </p>

一、语法

selector{
    property: value;
}

二、选择器

1 常见的三种选择器

<h1 class="red">This is a  heading.</h1>
<p class="red">This is a paragraph.</p>
.red{
    color: red;
}
<p id="red">This is a paragraph.</p>
#red{
    color: red;
}
<button>button</button>
button{
    opacity: 0.8;
}
button:hover{
    opacity: 1.0;
}

2 比较重要的两种选择器

/*默认所有元素的外边距为2px*/
*{
    margin: 2px;
}
/*外部框架样式*/
p{
    color: red;
}
/*自定义样式*/
p{
    color: green !important;
}

3 选择器优先级

权值 选择器类型
0 元素选择器、伪元素选择器
1 类选择器、属性选择器、伪类选择器
2 ID选择器

4 参考手册

三、布局

1 流动模型

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>流动模式下的块状元素</title>
<style type="text/css">
#box1{
    width:300px;
    height:100px;
}
div,h1,p{
    border:1px solid red;
}
</style>
</head>
<body>
    <div id="box2">box2</div><!--块状元素,由于没有设置宽度,宽度默认显示为100%--> 
    <h1>标题</h1><!--块状元素,由于没有设置宽度,宽度默认显示为100%--> 
    <p>文本段文本段文本段文本段文本段文本段文本段文本段文本段文本段文本段文本段文本段文本段文本段文本段文本段。</p><!--块状元素,由于没有设置宽度,宽度默认显示为100%--> 
    
    <div id="box1">box1</div><!--块状元素,由于设置了width:300px,宽度显示为300px-->
</body>
</html>
运行效果图
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>流动模式下的内联元素</title>
<style type="text/css">

</style>
</head>
<body>
    <a href="http://www.imooc.com">www.imooc.com</a><span>强调</span><em>重点</em>
    <strong>强调</strong>
</body>
</html>
运行效果图 常见块级元素
<style>
    /*设置为内联块级元素*/
    p{
        display: inline-block;
    }
    /*设置为块级元素*/
    p{
        display: block;
    }
    /*设置为内联元素*/
    p{
        display: inline;
    }
</style>

2 浮动模型

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>My title</title>
    <style>
        div{
            width:200px;
            height:200px;
            border:2px red solid;
        }
        #div1{float:left;}
        #div2{float:right;}
    </style>
  </head>
  <body>
    <div id="div1"></div>
    <div id="div2"></div>
  </body>
</html>
运行效果图

3 层模型

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>My title</title>
    <style>
        div{
            width:200px;
            height:200px;
            border:2px red solid;
            position:absolute;
            left:100px;
            top:50px;
        }
    </style>
  </head>
  <body>
    <div id="div1"></div>
  </body>
</html>
运行效果图
<!DOCTYPE html>
<html lang="en">
  <head>
    <title>My title</title>
    <style>
        div{
            width:200px;
            height:200px;
            border:2px red solid;
            position:relative;
            left:100px;
            top:50px;
        }
    </style>
  </head>
  <body>
    <div id="div1"></div>
  </body>
</html>



运行效果图
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>relative样式</title>
<style type="text/css">
#div1{
    width:200px;
    height:200px;
    border:2px red solid;
    position: fixed;
    top: 50px;
    right: 100px;
}

</style>
</head>
<body>
    <div id="div1"></div>
    <p>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。</p>
    <p>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。</p>
    <p>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。</p>
    <p>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。</p>
    <p>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。</p>
    <p>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。</p>
    <p>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。</p>
        <p>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。</p>
    <p>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。</p>
    <p>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。</p>
    <p>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。</p>
    <p>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。</p>
    <p>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。</p>
    <p>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。</p>
</body>
</html>
运行效果图

四、样式美化

1 字体及文本属性

Property Value(example) description
font-family 微软雅黑 设置字体
font-size 1.2em 设置字体大小
font-style italic 字体风格
font-variant small-caps 字体变形
font-stretch wider 字体拉伸
font-weight 800 字体加粗
line-height 20px 增加行高
Property Value(example) description
text-indent 20px 文本缩进
text-align center 水平对齐方式
vertical-align sub 垂直对齐方式
word-spacing 2px 字间距
letter-spacing 2px 字母间隔
text-transform uppercase 文本转换
text-decoration overline 文本装饰
text-shadow 2px 文本阴影
direction right 文本方向

2 盒子模型

盒子模型结构图
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>relative样式</title>
<style type="text/css">
    div{
        margin: 10px 20px;
        border:5px blue solid;
        padding: 5px 5px;
        height:20px;
        width: 100px;
    }
</style>
</head>
<body>
    <div>文本</div>
</body>
</html>
运行效果图 调试工具下效果图

3 颜色和背景

/*RGB*/
color: (255,255,255);
/*十六进制*/
color: #FFFFFF;
/*英文字母*/
color: white;

五、动画

1 基本语法

/* 一般浏览器 */
@keyframes myfirst
{
0%   {background: red;}
25%  {background: yellow;}
50%  {background: blue;}
100% {background: green;}
}
/* 火狐、谷歌浏览器 */
@-webkit-keyframes myfirst /* Safari and Chrome */
{
0%   {background: red;}
25%  {background: yellow;}
50%  {background: blue;}
100% {background: green;}
}
div
{
animation-name: myfirst;
animation-duration: 5s;
animation-timing-function: linear;
animation-delay: 2s;
animation-iteration-count: infinite;
animation-direction: alternate;
animation-play-state: running;
/* Safari and Chrome: */
-webkit-animation-name: myfirst;
-webkit-animation-duration: 5s;
-webkit-animation-timing-function: linear;
-webkit-animation-delay: 2s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-direction: alternate;
-webkit-animation-play-state: running;
}
CSS3动画属性

2 框架

六、预编译语言SCSS

七、调试工具

调试界面

八、推荐资料

上一篇 下一篇

猜你喜欢

热点阅读