CSS简介

CSS介绍

CSS(cascading style sheet,层叠样式表)是一种制作网页的新技术,现在已经为大多数浏览器所支持,成为网页设计必不可少的工具之一

CSS语法

CSS实例

每个CSS样式由两个组成部分:选择器和声明。声明又包括属性和属性值。每个声明之后用分号结束

CSS注释

/*这是注释*/

CSS的几种引入方式

行内样式

行内式是在标记的style属性中设定CSS样式。不推荐大规模使用

<p style="color: red">Hello world.</p>

内部样式

嵌入式是将CSS样式集中写在网页的<head></head>标签对的<style></style>标签对中。格式如下:

<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
p{
background-color: #2b99ff;
}
</style>
</head>

外部样式

外部样式就是将css写在一个单独的文件中,然后在页面进行引入即可。推荐使用此方式

<link href="mystyle.css" rel="stylesheet" type="text/css"/>

CSS选择器

基本选择器

标签选择器

/*根据标签名选择*/
p {color: "red";}

ID选择器

/*根据ID号选择*/
#i1 {
background-color: red;
}

类别选择器

/*根据class名选择*/
.c1 {
font-size: 14px;
}
/*有c1类名的p标签*/
p.c1 {
color: red;
}

注意:

样式类名不要用数字开头(有的浏览器不认)

标签中的class属性如果有多个,要用空格分隔

通用选择器

* {
color: white;
}

层级选择器

组合选择器

/*为所有的div和p标签设置边框属性*/
div, p {
border: 1px solid red;
}
/*组合选择器 把几个查找条件用逗号分割,逗号表示或者*/
p>a,ul~a{
color: green;
}

后代选择器

/*li内部的a标签设置字体颜色 从所有后代元素中找*/
li a {
color: green;
}

子代选择器

/*选择所有父级是 <div> 元素的 <p> 元素 只从直接子元素中找*/
div>p {
font-family: "Arial Black", arial-black, cursive;
}

毗邻选择器

/*选择紧接着<div>元素之后的<p>元素 往后找紧贴的*/
div+p {
margin: 5px;
}

兄弟选择器

/*i1后面所有的兄弟p标签 往后找同级的*/
#i1~p {
border: 2px solid royalblue;
}

属性选择器

/*用于选取带有指定属性的元素。*/
p[title] {
color: red;
}
[egon]{
color: green;
}
/*用于选取带有指定属性和值的元素。*/
p[title="213"] {
color: green;
}
[type="button"]{
color: red;
} /*上面常用↑*/ /*用于选取属性值包含指定值的每个元素*/
div[class~="c2"] {
color: red;
}
/*用于选取带有以指定值开头的属性值的元素,该值必须是整个单词。*/
div[class|="c2"] {
color: red;
}
/*匹配属性值以指定值开头的每个元素*/
div[class^="my"] {
color: red;
}
/*匹配属性值以指定值结尾的每个元素*/
div[class$="s"] {
color: red;
}
/*匹配属性值包含指定值的每个元素*/
div[class*="sb"] {
color: red;
}

伪类选择器

a:link {color: #FF0000} /* 未访问的链接 */

a:visited {color: #00FF00} /* 已访问的链接 */

a:hover {color: #FF00FF} /* 鼠标移动到链接上 */

a:active {color: #0000FF} /* 选定的链接 */ 

hover效果,后图未鼠标放上去的效果,会发生变色

选择器的优先级

CSS继承

继承是CSS的一个主要特征,它是依赖于祖先-后代的关系的。继承是一种机制,它允许样式不仅可以应用于某个特定的元素,还可以应用于它的后代。例如一个body定义了的字体颜色值也会应用到段落的文本中

body {
color: red;
}

此时页面上所有标签都会继承body的字体颜色。然而CSS继承性的权重是非常低的,是比普通元素的权重还要低的0

我们只要给对应的标签设置字体颜色就可覆盖掉它继承的样式

p {
color: green;
}

此外,继承是CSS重要的一部分,我们甚至不用去考虑它为什么能够这样,但CSS继承也是有限制的。有一些属性不能被继承,如:border, margin, padding, background等

样式优先级

选择器优先级总结

1. 继承优先级最低 (我如果没有设置自己的样式,默认我用祖先的样式)
2. 权重:
  1.不讲道理的!important
  2.内联(写在标签里的style属性) 1000
  3.ID选择器 100
  4.class选择器 10
  5.标签选择器 1
  6.继承的 
3.重名的样式,后加载的覆盖先加载的

CSS属性操作

CSS文本

文本颜色

颜色属性被用来设置文字的颜色。

颜色是通过CSS最经常的指定:

十六进制值 - 如: FF0000

一个RGB值 - 如: RGB(255,0,0)

颜色的名称 - 如:  red

div{
color: red;
}

文本对齐

text-align 属性规定元素中的文本的水平对齐方式。

left      把文本排列到左边。默认值:由浏览器决定

right    把文本排列到右边

center 把文本排列到中间

justify 实现两端对齐文本效果

 文本其它式样
 p{
/*color: red;*/
/*color: #FF0000;*/
color: rgb(255,0,0);
background-color: gray;
text-align: center;
}

边框

边框属性

border-width  边框宽度

border-style   边框线型

border-color  边框颜色

#i1 {
border-width: 2px;
border-style: solid;
border-color: red;
}

通常使用简写方式:

#i1 {
border: 2px solid red;
}

单独设置

#i1 {
border-top-style:dotted;
border-right-style:solid;
border-bottom-style:dotted;
border-left-style:none;
}

CSS盒子模型

  • margin:            用于控制元素与元素之间的距离;margin的最基本用途就是控制元素周围空间的间隔,从视觉角度上达到相互隔开的目的。
  • padding:           用于控制内容与边框之间的距离;
  • Border(边框):     围绕在内边距和内容外的边框。
  • Content(内容):   盒子的内容,显示文本和图像

margin外边距

.margin-test {
margin-top:100px;
margin-bottom:100px;
margin-right:50px;
margin-left:50px;
}

推荐使用简写:

.margin-test {
margin: 5px 10px 15px 20px; 上右下左
}

顺序:上右下左

常见居中:

.mycenter {
margin: 0 auto;
}

padding内填充

.padding-test {
padding-top: 5px;
padding-right: 10px;
padding-bottom: 15px;
padding-left: 20px;
}

推荐使用简写

.padding-test {
padding: 5px 10px 15px 20px;
}

顺序:上右下左

补充:

提供一个,用于四边;

提供两个,第一个用于上-下,第二个用于左-右;

如果提供三个,第一个用于上,第二个用于左-右,第三个用于下;

提供四个参数值,将按上-右-下-左的顺序作用于四边

scc的更多相关文章

  1. SCC重新建图

    Tarjan或Kosaraju算法[对每个点归类belong]求出SCC之后,对num_scc个SCC重新建图,针对不同问题,考虑重边的问题. //************************** ...

  2. vssver2.scc 文件是干啥的?

    idcdpi源文件下的tools下有一个文件    vssver2.scc     vssver2.scc是什么文件 首先,先来个名词解释:Microsoft Visual Source Safe是美 ...

  3. poj 1236 scc强连通分量

    分析部分摘自:http://www.cnblogs.com/kuangbin/archive/2011/08/07/2130277.html 强连通分量缩点求入度为0的个数和出度为0的分量个数 题目大 ...

  4. bzoj 2438 [中山市选2011]杀人游戏(SCC+概率)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2438 [题意] N个人中有一个杀手,每次询问一个人可能被杀或被告知其认识的人中谁是杀手 ...

  5. 【无聊放个模板系列】HDU 1269 (SCC)

    #include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #inc ...

  6. bzoj 2707 [SDOI2012]走迷宫(SCC+高斯消元)

    Description Morenan被困在了一个迷宫里.迷宫可以视为N个点M条边的有向图,其中Morenan处于起点S,迷宫的终点设为T.可惜的是,Morenan非常的脑小,他只会从一个点出发随机沿 ...

  7. bzoj 1924 [Sdoi2010]所驼门王的宝藏(构图,SCC,DP)

    Description Input 第一行给出三个正整数 N, R, C. 以下 N 行,每行给出一扇传送门的信息,包含三个正整数xi, yi, Ti,表示该传送门设在位于第 xi行第yi列的藏宝宫室 ...

  8. poj 2186 Popular Cows【tarjan求scc个数&&缩点】【求一个图中可以到达其余所有任意点的点的个数】

    Popular Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 27698   Accepted: 11148 De ...

  9. hdoj 2767 Proving Equivalences【求scc&&缩点】【求最少添加多少条边使这个图成为一个scc】

    Proving Equivalences Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  10. hdoj 3836 Equivalent Sets【scc&&缩点】【求最少加多少条边使图强连通】

    Equivalent Sets Time Limit: 12000/4000 MS (Java/Others)    Memory Limit: 104857/104857 K (Java/Other ...

随机推荐

  1. 数组有没有length()这个方法?String有没有length()这个方法?

    数组有没有length()这个方法?String有没有length()这个方法? 解答:数组没有length()方法 它有length属性 String有length()方法.

  2. Java多线程基础知识总结

    2016-07-18 15:40:51 Java 多线程基础 1. 线程和进程 1.1 进程的概念 进程是表示资源分配的基本单位,又是调度运行的基本单位.例如,用户运行自己的程序,系统就创建一个进程, ...

  3. 设置grid高度

    $("#jqxSalaryCalculation").jqxGrid({ height: $("#jqxTree").height() - 73 });

  4. SQL Server 数据库分离与附加(图文教程)

    from:http://www.jb51.net/article/36624.htm 一.概述 SQL Server提供了“分离/附加”数据库.“备份/还原”数据库.复制数据库等多种数据库的备份和恢复 ...

  5. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)5.2——使用Android Testing Support Library进行测试

    问题: 你想要测试app的Android组件. 解决方案: 使用新的测试类实现JUnit风格的测试. 讨论: 测试像activities,services等的Android组件,需要将app部署到连接 ...

  6. 显示所有APP的进程详细信息(进程ID、进程所在UID、进程占用内存、进程名)

    main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:and ...

  7. C++获取某个文件夹下的所有文件

    获取某个文件夹下的所有文件,返回各文件的路径加文件名 path为某文件夹的路径:eg. char * filePath = "C:\\Users\\WUQP\\Desktop\\test_d ...

  8. 编写高质量代码--改善python程序的建议(三)

    原文发表在我的博客主页,转载请注明出处! 建议十三:警惕eval()的安全漏洞 相信经常处理文本数据的同学对eval()一定是欲罢不能,他的使用非常简单: eval("1+1==2" ...

  9. ubuntu16.04搭建jdk1.8运行环境

    搭建环境:Ubuntu 16.04 ×64 JDK :jdk-8u171-linux-x64.tar.gz 首先下载linux对应的安装包下载地址:http://www.oracle.com/tech ...

  10. FW qunit introduction

    自动化测试软件对于开发来说是一个很重要的工具,而单元测试对于自动化测试来说是基本组成部分:软件的每一个组件或者单元可以在非人工介入的情况下,使用测试工具一遍遍的重复执行.换句话说,就是你可以写一次测试 ...