前端开发利器CSS之完美容颜

请先掌握HTML知识!!!!详见:HTML之常用标签整理

四、CSS开始

1、认识CSS样式

使用CSS样式的一个好处是通过定义某个样式,可以让不同网页位置的文字有着统一的字体、字号或者颜色等

2、CSS样式的优势

用<span></span>括起来,统一设置css样式

3、CSS代码语法

css 样式由选择符和声明组成,而声明又由属性和值组成

p{color:blue}(选择符{属性  声明  值})

选择符:又称选择器,指明网页中要应用样式规则的元素,如本例中是网页中所有的段(p)的文字将变成蓝色,而其他的元素(如ol)不会受到影响。

声明:在英文大括号“{}”中的的就是声明,属性和值之间用英文冒号“:”分隔。当有多条声明时,中间可以英文分号“;”分隔

4、CSS注释代码

用/*注释语句*/来标明(Html中使用<!--注释语句-->)

五、CSS样式基本知识

1、内联式CSS样式(直接写在现有的HTML标签中)

<p style="color:red">这里文字是红色。</p>

注意要写在元素的开始标签里,css样式代码要写在style=""双引号中,如果有多条css样式代码设置可以写在一起,中间用分号隔开

<p style="color:red;font-size:12px">这里文字是红色。</p>

2、嵌入式CSS样式(写在当前的文件中)

把css样式代码写在<style type="text/css"></style>标签之间

嵌入式css样式必须写在<style></style>之间,并且一般情况下嵌入式css样式写在<head></head>之间

3、外部式CSS样式(写在单独的一个文件中)

把css代码写一个单独的外部文件中,这个css样式文件以“.css”为扩展名,在<head>内(不是在<style>标签内)使用<link>标签将css样式文件链接到HTML文件内

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

注意:

1、css样式文件名称以有意义的英文字母命名,如 main.css。

2、rel="stylesheet" type="text/css" 是固定写法不可修改。

3、<link>标签位置一般写在<head>在{}之前的部分就是“选择器”,“选择器”指明了{}中的“样式”的作用对象,也就是“样式”作用于网页中的哪些元素.

2、标签选择器

标签选择器其实就是html代码中的标签

3、类选择器

.类选器名称{css样式代码;}

注意:

1、英文圆点开头

2、其中类选器名称可以任意起名(但不要起中文噢)

使用方法:

第一步:使用合适的标签把要修饰的内容标记起来

第二步:使用class="类选择器名称"为标签设置一个类

<span class="stress">胆小如鼠</span>

第三步:设置类选器css样式

.stress{color:red;}/*类前面要加入一个英文圆点*/

4、ID选择器

在很多方面,ID选择器都类似于类选择符。

区别:

标签之内。

三种方法的优先级

这三种样式是有优先级的,记住他们的优先级:内联式 > 嵌入式 > 外部式

嵌入式>外部式有一个前提:嵌入式css样式的位置一定在外部式的后面

总结来说,就是--就近原则(离被设置元素越近优先级别越高)

六、CSS选择器

1、什么是选择器

每一条css样式声明(定义)由两部分组成

选择器{

样式;

}

1、为标签设置id="ID名称",而不是class="类名称"。

2、ID选择符的前面是井号(#)号,而不是英文圆点(.)。

2、标签选择器

标签选择器其实就是html代码中的标签<html>、<body>、<h1>、<p>、<img>

p{font-size:12px;line-height:1.6em;}

3、类选择器

.类选器名称{css样式代码;}

注意:

1、英文圆点开头

2、其中类选器名称可以任意起名(但不要起中文噢)

使用方法:

第一步:使用合适的标签把要修饰的内容标记起来

第二步:使用class="类选择器名称"为标签设置一个类

第三步:设置类选器css样式

4、ID选择器

在很多方面,ID选择器都类似于类选择符

区别:

1、为标签设置id="ID名称",而不是class="类名称"。

2、ID选择符的前面是井号(#)号,而不是英文圆点(.)。

类和ID选择器的区别

相同点:可以应用于任何元素

不同点:

1、ID选择器只能在文档中使用一次。

在一个HTML文档中,ID选择器只能使用一次,而且仅一次。而类选择器可以使用多次。

2、可以使用类选择器词列表方法为一个元素同时设置多个样式。我们可以为一个元素同时设多个样式,但只可以用类选择器的方法实现,ID选择器是不可以的(不能使用 ID 词列表)。

5、子选择器

大于符号(>),用于选择指定标签元素的第一代子元素

.food>li{border:1px solid red;}

6、包含(后代)选择器

加入空格,用于选择指定标签元素下的后辈元素

.first  span{color:red;}

子选择器和包含选择器区别:

请注意这个选择器与子选择器的区别,子选择器(child selector)仅是指它的直接后代,或者你可以理解为作用于子元素的第一代后代。而后代选择器是作用于所有子后代元素。后代选择器通过空格来进行选择,而子选择器是通过“>”进行选择

总结:>作用于元素的第一代后代,空格作用于元素的所有后代。

7、通用选择器

使用一个(*)号指定,它的作用是匹配html中所有标签元素,如下使用下面代码使用html中任意标签元素字体颜色全部设置为红色

* {color:red;}

8、伪类选择器

允许给html不存在的标签(标签的某种状态)设置样式,比如说我们给html中一个标签元素的鼠标滑过的状态来设置字体颜色:

a:hover{color:red;}

关于伪类选择符,到目前为止,可以兼容所有浏鉴器的“伪类选择符”就是a标签上使用:hover了(只有这种兼容所有的浏览器)

现在比较常用的还是a:hover的组合

9、分组选择器

为html中多个标签元素设置同一个样式时,可以使用分组选择符(,)

h1,span{color:red;}

七、CSS的继承、层叠和特殊性

1、继承

CSS的某些样式是具有继承性的。

继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代。

注意有一些css样式是不具有继承性的。如border:1px solid red;

不可继承样式:

display、margin、border、padding、background、height、min-height、max-height、width、min-width、max-width、overflow、position、left、right、top、 bottom、z-index、float、clear、table-layout、vertical-align、page-break-after、 page-bread-before和unicode-bidi.

2、特殊性

浏览器是根据权值来判断使用哪种css样式的,权值高的就使用哪种css样式

标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100。

p{color:red;} /*权值为1*/

p span{color:green;} /*权值为1+1=2*/

.warning{color:white;} /*权值为10*/

p span.warning{color:purple;} /*权值为1+1+10=12*/

#footer .note p{color:yellow;} /*权值为100+10+1=111*/

注意:还有一个权值比较特殊--继承也有权值但很低,有的文献提出它只有0.1,所以可以理解为继承的权值最低。

3、层叠

层叠就是在html文件中对于同一个元素可以有多个css样式存在,当有相同权重的样式存在时,会根据这些css样式的前后顺序来决定,处于最后面的css样式会被应用。

内联样式表(标签内部)> 嵌入样式表(当前文件中)> 外部样式表(外部文件中)。

4、重要性

有些特殊的情况需要为某些样式设置具有最高权值,

有些特殊的情况需要为某些样式设置具有最高权值,

注意:!important要写在分号的前面

浏览器默认的样式 < 网页制作者样式 < 用户自己设置的样式,但记住!important优先级样式是个例外,权值高于用户自己设置的样式。

八、CSS格式化排版

1、文字排版——字体

body{font-family:"宋体";}

注意:

不要设置不常用的字体

通常“微软雅黑”

body{font-family:"Microsoft Yahei";}或

body{font-family:"微软雅黑";}

注意:第一种方法比第二种方法兼容性更好一些。

2、字号、颜色

body{font-size:12px;color:#666}

3、粗体

p span{font-weight:bold;}

4、斜体

p a{font-style:italic;}

5、下划线

p a{text-decoration:underline;}

6、删除线

.oldPrice{text-decoration:line-through;}

7、缩进

p{text-indent:2em;}

2em的意思就是文字的2倍大小。

8、行间距(行高)

p{line-height:1.5em;}

9、字间距、字母间距

设置文字间隔或者字母间隔就可以使用    letter-spacing来实现

h1{

letter-spacing:50px;

}

注意:这个样式使用在英文单词时,是设置字母与字母之间的间距。

单词间距设置:

使用word-spacing来实现

h1{

word-spacing:50px;

}

10、对齐

为块状元素中的文本、图片设置居中样式

h1{

text-align:center;

}

left、right、center

九、CSS盒模型

1、元素分类

html中的标签元素大体被分为三种不同的类型:块状元素、内联元素(又叫行内元素)和内联块状元素

常用的块状元素:

<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>

常用的内联元素:

<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>

常用的内联块状元素:

<img>、<input>

2、块级元素(元素分类)

设置display:block就是将元素显示为块级元素

a{display:block;}

块级元素特点:

1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(真霸道,一个块级元素独占一行)

2、元素的高度、宽度、行高以及顶和底边距都可设置。

3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。

3、内联元素(元素分类)

块状元素也可以通过代码display:inline将元素设置为内联元素

内联元素特点:

1、和其他元素都在一行上;

2、元素的高度、宽度、行高及顶部和底部边距不可设置;

3、元素的宽度就是它包含的文字或图片的宽度,不可改变。

4、内联块状元素(元素分类)

内联块状元素(inline-block)就是同时具备内联元素、块状元素的特点,代码display:inline-block就是将元素设置为内联块状元素

inline-block元素特点:

1、和其他元素都在一行上;

2、元素的高度、宽度、行高以及顶和底边距都可设置。

5、什么是盒模型

盒子模型:内边距padding、外边距margin、边框border

块标签都具备盒子模型的特性

6、边框(盒模型)

盒子模型的边框就是围绕着内容及补白的线,这条线你可以设置它的粗细、样式和颜色(边框三个属性)。

div{

border:2px  solid  red;

}

也可分开写 :

div{

border-width:2px;

border-style:solid;

border-color:red;

}

注意:

1、border-style(边框样式)常见样式有:

dashed(虚线)| dotted(点线)| solid(实线)。

2、border-color(边框颜色)中的颜色可设置为十六进制颜色,如:

border-color:#888;//前面的井号不要忘掉。

3、border-width(边框宽度)中的宽度也可以设置为:

thin | medium | thick(但不是很常用),最常还是用象素(px)。

css样式中允许只为一个方向的边框设置样式:

div{border-bottom:1px solid red;}

同样可以使用下面代码实现其它三边上、右、左边框的设置:

border-top:1px solid red;

border-right:1px solid red;

border-left:1px solid red;

7、宽度和高度(盒模型)

css内定义的宽(width)和高(height),指的是填充以里的内容范围。

一个元素实际宽度(盒子的宽度)=左边界+左边框+左填充+内容宽度+右填充+右边框+右边界。

8、填充(盒模型)

元素内容与边框之间是可以设置距离的,称之为“填充”。填充也可分为上、右、下、左(顺时针)

div{padding:20px 10px 15px 30px;}

也可以分开写:

div{

padding-top:20px;

padding-right:10px;

padding-bottom:15px;

padding-left:30px;

}

上、右、下、左的填充都为10px;可以这么写

div{padding:10px;}

上下填充一样为10px,左右一样为20px,可以这么写:

div{padding:10px 20px;}

9、边界(盒模型)

元素与其它元素之间的距离可以使用边界(margin)来设置。边界也是可分为上、右、下、左

div{margin:20px 10px 15px 30px;}

也可以分开写:

div{

margin-top:20px;

margin-right:10px;

margin-bottom:15px;

margin-left:30px;

}

如果上右下左的边界都为10px;可以这么写:

div{ margin:10px;}

如果上下边界一样为10px,左右一样为20px,可以这么写:

div{ margin:10px 20px;}

总结一下:padding和margin的区别,padding在边框里,margin在边框外。

十、CSS布局模型

1、CSS布局模型

CSS包含3种基本的布局模型,用英文概括为:Flow、Layer 和 Float。

在网页中,元素有三种布局模型:

1、流动模型(Flow)

2、浮动模型 (Float)

3、层模型(Layer)

2、流动模型

流动(Flow)是默认的网页布局模式

典型特征:

第一点,块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%。实际上,块状元素都会以行的形式占据位置

第二点,在流动模型下,内联元素都会在所处的包含元素内从左到右水平分布显示。

3、浮动模型

任何元素在默认情况下是不能浮动的,但可以用CSS定义为浮动,如div、p、table、img等元素都可以被定义为浮动。如下代码可以实现两个div元素一行显示

div{

width:200px;

height:200px;

border:2px red solid;

float:left;

}

<div id="div1"></div>

<div id="div2"></div>

右浮动:float:right;

一左一右:#div1{float:left;}   #div2{float:right;}

4、什么是层模型

CSS定义了一组定位(positioning)属性来支持层布局模型。

层模型有三种形式:

1、绝对定位(position: absolute)

2、相对定位(position: relative)

3、固定定位(position: fixed)

5、绝对定位(层模型)

想为元素设置层模型中的绝对定位,需要设置position:absolute(表示绝对定位),这条语句的作用将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口。

如下面代码可以实现div元素相对于浏览器窗口向右移动100px,向下移动50px。

div{

width:200px;

height:200px;

border:2px red solid;

position:absolute;

left:100px;

top:50px;

}

<div id="div1"></div>

6、相对定位(层模型)

想为元素设置层模型中的相对定位,需要设置position:relative(表示相对定位),它通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置。相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动。

如下代码实现相对于以前位置向下移动50px,向右移动100px;

#div1{

width:200px;

height:200px;

border:2px red solid;

position:relative;

left:100px;

top:50px;

}

<div id="div1"></div>

7、固定定位(层模型)

fixed:表示固定定位,与absolute定位类型类似,但它的相对移动的坐标是视图(屏幕内的网页窗口)本身。由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响,这与background-attachment:fixed?属性功能相同

8、Relative与Absolute组合使用

使用position:absolute可以实现被设置元素相对于浏览器(body)

相对于其它元素进行定位

使用position:relative来帮忙,但是必须遵守下面规范:

1、参照定位的元素必须是相对定位元素的前辈元素:

<div id="box1"><!--参照定位的元素-->

<div id="box2">相对参照元素进行定位</div><!--相对定位元素-->

</div>

box1是box2的父元素(父元素当然也是前辈元素了)。

2、参照定位的元素必须加入position:relative;

#box1{

width:200px;

height:200px;

position:relative;

}

3、定位元素加入position:absolute,便可以使用top、bottom、left、right来进行偏移定位了。

#box2{

position:absolute;

top:20px;

left:30px;

}

十一、CSS代码缩写(占用更少的带宽)

1、盒模型代码简写

盒模型时外边距(margin)、内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左。

margin:10px 15px 12px 14px;/*上设置为10px、右设置为15px、下设置为12px、左设置为14px*/

通常有下面三种缩写方法:

1、如果top、right、bottom、left的值相同,如下面代码:

margin:10px 10px 10px 10px;

缩写为:

margin:10px;

2、如果top和bottom值相同、left和 right的值相同,如下面代码:

margin:10px 20px 10px 20px;

缩写为:

margin:10px 20px;

3、如果left和right的值相同,如下面代码:

margin:10px 20px 30px 20px;

缩写为:

margin:10px 20px 30px;

注意:padding、border的缩写方法和margin是一致的。

2、颜色值缩写

当你设置的颜色是16进制的色彩值时,如果每两位的值相同,可以缩写一半。

p{color:#000000;}

缩写为:

p{color: #000;}

p{color: #336699;}

缩写为:p{color: #369;}

3、字体缩写

body{

font-style:italic;

font-variant:small-caps;

font-weight:bold;

font-size:12px;

line-height:1.5em;

font-family:"宋体",sans-serif;

}

缩写为:

body{

font:italic  small-caps  bold  12px/1.5em  "宋体",sans-serif;

}

注意:

1、使用这一简写方式你至少要指定 font-size 和 font-family 属性,其他的属性(如 font-weight、font-style、font-varient、line-height)如未指定将自动使用默认值。

2、在缩写时 font-size 与 line-height 中间要加入“/”斜扛。

时间: 2024-10-10 04:59:47

前端开发利器CSS之完美容颜的相关文章

前端开发:css基础知识之盒模型以及浮动布局。

前端开发:css基础知识之盒模型以及浮动布局 前言 楼主的蛮多朋友最近都在学习html5,他们都会问到同一个问题 浮动是什么东西?  为什么这个浮动没有效果?  这个问题楼主已经回答了n遍.今天则是把它写到我的博客中,想知道自己过来翻就好啦 ^_^  下面楼主把当前的自己对css的基础认知一一给大家道来...... 盒模型 谈到盒模型,有经验的小伙伴一定滚瓜烂熟,无非就是 内容(content).填充(padding).边框(border).边界(margin): 这些属性我们可以把它转移到我们

前端开发规范-CSS规范

前端开发规范-CSS规范 1.通用约定 (1)代码组织 以组件为单位组织代码段: 制定一致的注释规范: 组件块和子组件块以及声明块之间使用一空行分隔,子组件块之间三空行分隔: 如果使用了多个 CSS 文件,将其按照组件而非页面的形式分拆,因为页面会被重组,而组件只会被移动: 良好的注释是非常重要的.请留出时间来描述组件(component)的工作方式.局限性和构建它们的方法.不要让你的团队其它成员 来猜测一段不通用或不明显的代码的目的. 提示:通过配置编辑器,可以提供快捷键来输出一致认可的注释模

前端开发利器 Sublime Text 3 使用技巧和总结笔记

这篇文章是本人在使用该工具进行前端开发的自我总结,思路也许不是很清楚,不过还是希望对读者的你有所帮助,千万别把这边文章收藏起来发霉哦,无论背多少次快捷键,还不及自己多实际操作几次. 目前官方版正式版 Sublime Text 2 Build 2221,而 Sublime Text 3 为测试阶段,建议下载正式版  注册机SublimeTextKeygen下载 打开注册机,先点中间 “Patch key” 打开 “sublime_text.exe” 文件确认,再随意修改下 “Name” 然后 “G

web前端开发分享-css,js工具篇

来源:http://www.cnblogs.com/jikey/p/3607133.html web前端开发乃及其它的相关开发,推荐sublime text, webstorm(jetbrains公司系列产品)这两个的原因在于,有个技术叫emmet, http://docs.emmet.io,而这两个对他的支持是: sublime text 是所有编辑器里边支持emmet比较好的的唯一一款. webstorm是所有编辑器里边唯一内置emmet的一款,并且将emmet的精神往前推动的一款. php

前端开发利器-Brackets IDE

是什么? http://brackets.io/ A modern, open source text editor that understands web design. 现代, 开源的文本编辑器, 最懂得web设计. With focused visual tools and preprocessor support, Brackets is a modern text editor that makes it easy to design in the browser. 专注可视化工具

自学前端开发 新版css时钟效果图

想要自学前端开发,你要的学习资料到了-web前端交流学习群21,新版css时钟效果图 <!DOCTYPE html> <html> <head> <metahttp-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>RunJS</title> <style> .clock{ width:200px; heig

前端开发利器 livereload -- 从此告别浏览器F5键

各位从事前端开发的童鞋们,大家每天coding && coding,然后F5 && F5,今天推荐一个静态文件在浏览器中自动更新的扩展 livereload,不同手动刷新也能实时预览新代码构建的页面. 软件准备:1.新版的sublime text(sublime text 2 无法下载livereload插件) 下载地址 https://www.sublimetext.com/3 新版本安装配置说明 https://www.douban.com/note/474507021

web前端开发利器——基于ruby的sass,compass和Dreamever+emmet插件

引言:web前端的html页面和css文件有时写起来会很麻烦,但是借助一些工具能够帮助我们轻松的构建相应的页面.sass是css的一款开发工具,有相应的语法,可以有逻辑和简洁编写css代码.本文介绍的主要是基于Dreamever cs5加上emmet插件快速编写简洁html页. 1. ruby安装与配置 ruby可以从百度搜索中的百度软件安装中心找到或者官网下载.安装很简单,以.exe文件进行安装,直接进行下一步安装就行.安装完成之后,在命令行窗口中输入 ruby -v,如果显示了相应的版本说明

关于前端开发一些css的技巧

文本属性连写: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible&q