CSS:cascading style sheets层叠样式表,用于美化页面

css的三种表现形式:
1、行内样式(内嵌样式):结构的内部,即写在标签内的样式;写在标签的开始部分内部,style属性当中;
<标记 style="样式的属性名1:样式的属性值1;属性名2:属性值2;......"></标记>
2、内部样式(内联样式):写在HTML页面内部,存放于head标记当中,样式写在style标记内;
注意:style标记不要写在title标记上方;
<style>
选择器 {
属性名:属性值;
属性名:属性值;
......
}
</style>
3、外部样式(外联样式):写在css文件内;
<link type="text/css" rel="stylesheet" href="css/main.css" />

color:设置文本颜色;
属性值:1、表示颜色的英文单词,例如:red、blue、green、pink、purple、cyan等;
2、十六进制表示法:#ff0000; 0、1、2...9、a、b、c...f
# ff 00 00
红色 绿色 蓝色
0表示颜色的最低值,f表示颜色的最大值;
3、rgb表示法:color:rgb(0,0,0);取值0-255;
4、rgba表示法:color:rgba(0,0,0,0);前三个值的取值0-255,第四个值的取值0-1;
a--alpha

font-family:设置字体格式;可以设置多个字体格式,之间用“,”隔开,字体格式用“”包含;

font-size:设置字体大小,单位像素(px);

font-style:设置字体样式
normal--正常的,没有任何样式;
italic--斜体字;只有字体本身有斜体才能倾斜,否则不能倾斜;
oblique--倾斜的;可以强行倾斜字体;

font-weight:设置字体字重,即字体的粗细;
100-900取整百,700相当于粗体(bold),900相当于更粗(bolder);
bold--粗体
bolder--比粗体更粗;
lighter--细体;

选择器:选择对应的标签,将样式给到对应的标签;
1、标签选择器:给同一种标签添加样式;
代码:
标签名 {
属性名:属性值;
}

2、通用选择器(通配符):给所有的标签添加样式;
代码:
* {
属性名:属性值;
}
注意:通用选择器是先遍历页面当中所有的标签,然后再给这些标签添加样式,所以这个选择器的性能非常低;一般只会在测试的时候使用,用于css的初始化,但是在项目当中不要使用;

3、类选择器:给同一类(同一个群体)标签添加样式;要先给同一类标签取一个名字;
属性--class给标签命名类名;
代码:
.class名(类名){
属性名:属性值;
}
注意:一个类名可以给多个标签,一个标签可以有多个类名,多个类名之间用“空格”隔开;

4、id选择器:给某一个标签添加样式;要先取一个id名
属性--id;
代码:
#ID名 {
属性名:属性值;
}
注意:一个ID名只能给一个标签,一个标签只能有一个ID名;(从一而终)

5、后代选择器:选择的是某一个元素的后代元素;
代码:
祖先选择器 后代名 {
属性名:属性值;
}
注意:中间是用“空格”连接,表示“里面的”意思;

选择器原理:是由内向外查找,先查找所有的p,然后判断这个p是否由满足要求的父节点father,不满足就继续向上一级查找,没有找到就不满要求,找到了才给这个p添加样式;

6、子选择器:选择某个元素的直接后代;
代码:
父选择器>子级{
属性名:属性值;
}

7、相邻兄弟选择器:选择紧挨着该元素的后面的一个元素;
代码:
元素名+兄弟名{
属性名:属性值;
}

8、通用兄弟选择器:选择的是该元素后面的所有的某一种元素;
代码:
元素名~兄弟名{
属性名:属性值;
}

9、并集选择器:将两个不相干的元素同时添加相同属性;
代码:
元素1,元素2,元素3......{
属性名:属性值;
}

10、交集选择器:当标签和类名(ID名)都冲突的时候,使用交集选择器;
代码:
元素名.类名(#ID名){
属性名:属性值;
}

css三大特性:
1、继承:父级的样式会被子级继承;!important不会被继承;

2、层叠:当样式发生冲突的时候,样式会产生覆盖(层叠);

3、优先级:!important(最高级)>行内样式>id>类>标签>*>继承;
同级样式遵循“就近原则”;就近指定是谁离内容进谁的优先级就高;

权重:标签选择器--1
类选择武器--10
id选择器--100
行内样式--1000
!important--1/0(无穷大)
数标签:先数id,比较完id再数类,比较完类再数标签;

盒子模型:
1、内容--宽度:width;单位px、百分比(继承)、em、rem;
高度:height;单位px、百分比(继承)、em、rem;
背景--背景色:background-color;颜色单词、十六进制表示法、rgb、rgba;
背景图片:background-image:url(路径);
背景图片重复:background-repeat;no-repeat(不重复)、repeat-x(水平重复)、repeat-y(垂直重复)、repeat(水平垂直重复、默认);
背景定位:background-position:left、center、right、top、center、bottom、具体的数值(单位px)
背景连写:background:背景颜色 背景图片 背景图片重复 背景定位;可以只单写某一个属性;

2、填充:上填充--padding-top
下填充--padding-bottom
左填充--padding-left
右填充--padding-right
填充连写--padding:1个值--》上、右、下、左全部是这个值;
2个值--》第一个值表示上下,第二个值表示左右;
3个值--》第一个值表示上,第二个值表示左右,第三个值表示下;
4个值--》依次为上、右、下、左;(顺时针方向)
注意:padding会改变盒子的大小,要想在添加padding的同时保持盒子的大小不变,应将padding的值从盒子的大小中减去;

3、边框:边框粗细--border-width
边框颜色--border-color
边框样式--border-style:solid(实线)、dashed(虚线)、dotted(点线)
边框连写--border:width style color;
可以单独只写某一边的边框--border-top、border-bottom、border-left、border-right
注意:边框的对齐方式为向外对齐,所以边框会改变盒子大小;

4、外边距:上边距--margin-top
下边距--margin-bottom
左边距--margin-left
右边距--margin-right
外边距连写--margin:1个值 2个值 3个值 4个值(参照padding);

默认文档流布局下,父子上边界共用问题?
解决:1、使用padding;
2、给父级使用border;
3、给父级添加属性--overflow:hidden;
4、浮动;
5、定位;

外边距塌陷:在垂直方向上上下边距会合并,取最大值;

盒子水平居中:margin:0 auto;

样式的继承:width、color、font-、text-、line-height都可以被继承;

<ins></ins>下划线标记

<del></del>删除线标记

文本修饰:text-decoration--underline;下划线
line-through;删除线
none;无/没有修饰;

文本对齐:text-align--left;左对齐
center;居中对齐
right;右对齐

文本缩进:text-indent;指的是文本的首行缩进;
单位px、em;

行高:line-height--用于设置一行文本的高度,常用于设置一行文本在容器当中垂直居中;
单位:1、px;
2、百分比;基于文字大小的百分比,“%”前必须是整十,如:150%、200%
3、em;相对单位,同样是基于文字大小;如:1.5em、2em;
4、没有单位;a--没有继承的情况下,相当于em;
b--在有继承的情况下:
i、父级的行高有单位em,则会先计算好行高,然后将行高的数值直接继承给子级,子级本身不会再计算行高;
ii、行高没有单位,则父级会直接将行高继承给子级,然后子级根据行高值自行计算行高;

font连写--font:样式/粗细 大小 格式;大小和格式必须都有,缺少任何一个都不行;

元素的显示方式:
1、块级--block;独占一行,支持宽高;
2、行内--inline;和其他行内元素在一行显示,不支持宽高;
3、行内块级--inline-block,既有行内元素特性,又有块级元素的特性;同样在一行中显示,并且支持宽高;
display:block/inline/inline-block;
以上为默认文档流(标准文档流)下的情况;

在有链接的情况下,a标记无法继承父级的color样式;

伪类选择器:
a:link--链接的原本的样式(没有访问过);一旦访问过后就失效;
a:hover--鼠标移入时的样式;
a:active--鼠标按下时的样式(鼠标没有松开);
a:viseted--链接访问过后的样式;
L--H--V--A

浮动:让默认(标准)文档流下的元素漂浮起来水平排列;
float--left左浮动;
right右浮动;
none不浮动;
浮动排列的顺序不会改变,默认时谁在第一个,浮动就会排在第一个;

浮动的影响:
1、行内元素浮动之后可以支持宽高;
2、文本会给浮动的元素让位;可以制作文本绕排的效果;
3、在父级没有给高度的情况下,子级浮动后父级会没有高度;

清除浮动:
1、在父级内容的最后添加一个空的div,添加clear属性;
clear--left清除左浮动;
right清除右浮动;
both清除所有(左/右)浮动;
clear是清除上一个元素带来的影响;
不推荐使用,因为会在页面上添加太多的无用标签,让页面的布局变得更复杂;

2、给父级设置overflow:hidden;
会触发bfc(block formatting context)块级格式化上下文;
不推荐使用,因为这个属性和定位一起使用时会产生问题;

3、使用伪元素after
.clearfix:after {
content:"";/*内容为空*/
height:0;/*高度为0*/
line-height:0;/*行高为0*/
display:block;/*块级元素*/
visibility:hide;/*隐藏*/
clear:both;/*清除浮动*/
}
.clearfix {
zoom:1;/*IE678*/
}

4、使用双伪元素after和before
.clearfix:afer,.clearfix:before {
content:"";
display:table;
clear:both;
}
.clearfix {
zoom:1;
}
以上四种方式推荐使用第三种;

列表样式:list-style

定位:
1、静态定位--static;按照标准文档流进行布局;

2、相对定位--relative;相对自身;以自身的坐上角(坐标点)为参考;会保留原来的位置不被其他元素侵占;

3、绝对定位--absolute;参考的是页面的左上角;绝对定位位置不会被保留;
如果父级有定位,则参考父级的坐标点;如果父级没有定位,则会一级一级向上查找,直到html标签,中途有定位就会参照这个定位元素的坐标点;

4、固定定位--fixed;相对于浏览器窗口的左上角;

CSS 简单归纳 -- 前端知识的更多相关文章

  1. HTML 简单归纳 -- 前端知识

    web前端 Internet:是一个全球性的计算机互联网络,中文名称“因特网”.“国际互联网”.“网际网”等等: Internet提供的服务:http.ftp.Telnet.email.www.bbs ...

  2. jquery 简单归纳 -- 前端知识

    jquery 什么是jQuery? jquery是轻量级的JavaScript库,核心是javascript,兼容css和各种浏览器,核心理念是写得少做得多(write less do more). ...

  3. AJAX 简单归纳 -- 前端知识

    什么是 AJAX ? AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味 ...

  4. HTML5 简单归纳 -- 前端知识 (一)

    HTML5简介 1.h5不是一个新语言,它是HTML语言第五次重大修改--版本 2.   2014年  h5 3.支持:目前所有的主流浏览器都支持h5,IE8以下不支持 4.特性: a:抛弃了h4中不 ...

  5. HTML5 简单归纳 -- 前端知识 (二)

    HTML5 全屏事件 全屏事件:requestFullScreen 关闭全屏:cancelFullScreen 判断是否全屏:fullScreenElement 注意:现各大主流浏览器中由于内核不同的 ...

  6. 前端学习日记之HTML、CSS 简单总结

    前端学习日记之HTML.CSS 简单总结 标签(空格分隔): html css 前端学习日记 html超文本标记语言 一. h标题标签 h1-h7 <!DOCTYPE html> < ...

  7. day11 前端知识简单总结

    目录 1.html常用标签 2.css布局 一. html 常用标签 1.head里面的标签,仅仅应用于网页的一些基础信息 1.1  meta 属性http-equiv 向浏览器传达一些有用的信息 与 ...

  8. web前端知识体系总结

    1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...

  9. css学习归纳总结(三) 转

    原文地址:css学习归纳总结(三) 为文档添加样式的三种方法 行内样式 行内样式是写在HTML标签的style属性里的,比如: <p style="font-size: 12px;fo ...

随机推荐

  1. django-子项目

    当我们开始做一个项目的时候 ,当我们做的项目越来越大的时候py文件已经不足以分担 并且看起来不清晰   所以我们需要 新建一个子项目   这样的话可以方便管理 我们要建立子项目的话先进入那个项目的文件 ...

  2. W,b的初始化和几种激活函数

    权重W不能全部初始化为0,原因很简单,我们可以自己在本子上推导一下,假设现有一个含有一个隐藏层,隐藏层含有两个神经元初始输入为两个向量的网络,如果权重初始化全部为0,那么,第一层的输出,会和第二层的输 ...

  3. (转载)Centos下Elasticsearch安装详细教程

    原文地址:http://www.cnblogs.com/sunny1009/articles/7874251.html Centos下Elasticsearch安装详细教程 1.Elasticsear ...

  4. let'encript 解决证书问题

    今天服务器let'encript证书过期了,年纪大了老忘,不得不把别人的博客看一遍,就是因为我不想定时任务执行acme_tiny.py,还是写个文档记下,很久不写对外博客了,冒个泡. 1.创建普通域名 ...

  5. Jquery初体验一

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  6. 【转载】CentOS中crontab定时计划任务的使用

    转载自:http://blog.csdn.net/testcs_dn/article/details/48780971 概述 利用“任务计划”,可以将任何脚本.程序或文档安排在某个最方便的时间运行.通 ...

  7. 异常处理:net.sf.cglib.beans.BulkBeanException

    今天下午由于各种开会,断断续续写得代码,单元测试的时候,老是报如题的错误,后来查阅资料,发现原来是从数据库查询的值如果为空,则对应实体类执行set方法会赋值null给对应属性值,但是我当时的几个值偏偏 ...

  8. SpringBoot入门 (十一) 数据校验

    本文记录学习在SpringBoot中做数据校验. 一 什么是数据校验 数据校验就是在应用程序中,对输入进来得数据做语义分析判断,阻挡不符合规则得数据,放行符合规则得数据,以确保被保存得数据符合我们得数 ...

  9. Eclipse 处理 IOConsole Updater 报错

    上篇博文说了如何处理 Eclipse Console打印不自动删除问题, 而不让日志自动删除后会报错:IOConsole Updater 重复的刷屏,一会之后,就会出现IOConsole Update ...

  10. PHP7最高性能优化建议

    PHP7已经发布了, 作为PHP10年来最大的版本升级, 最大的性能升级, PHP7在多放的测试中都表现出很明显的性能提升, 然而, 为了让它能发挥出最大的性能, 我还是有几件事想提醒下. PHP7 ...