web前端CSS2学习2017.6.17
CSS---表现层,修饰和表现html文档,为了解决结构层和表现层分离的问题。
通过CSS极大的提高了工作效率,方便工作人员维护和管理
CSS:层叠样式表,目前用的最广泛的css版本为css2,最新版本是css3
----------------------------------------------------------------
一 CSS的放置位置
1 嵌入式
css里面我们叫html标签为html元素
放置位置:直接将css代码嵌入到html元素中
语法:<tag style="css属性1:css属性值1;css属性2:css属性值2;..."></tag>
<tag style="css属性1:css属性值1;css属性2:css属性值2;..."/>
作用范围:只作用于当前标签
2 植入式
语法:
<style>
选择器{
css属性1:css属性值1;
css属性2:css属性值2;
...
}
</style>
放置位置:放在head标签里面,通过一对style标签引入
作用范围:作用于当前的html页面
3 外联式:
放置位置:通过一个link标签引入外部的层叠样式表,link标签必须放在head标签里面
语法:<link rel="stylesheet" type="text/css" href="相对路径"/>
作用范围:公共的,任何一个html页面都可以引入,一旦引入就可以影响当前页面的样式
CSS放置位置的优先级顺序
嵌入式的优先级最高
植入式于外联式近标签者优先
----------------------------------------------------------------
二 CSS的语法
语法:<tag style="css属性1:css属性值1;css属性2:css属性值2;..."></tag>
<tag style="css属性1:css属性值1;css属性2:css属性值2;..."/>
语法:
<style>
选择器{
css属性1:css属性值1;
css属性2:css属性值2;
...
}
</style>
选择器1{
css属性1:css属性值1;
css属性2:css属性值2;
...
}
选择器2{
css属性1:css属性值1;
css属性2:css属性值2;
...
}
每条css属性及属性值后面,都要以分号分割,表示该条css代码结束
----------------------------------------------------------------
三 CSS的选择器
选择器:通过选择可以找到相对应的html元素
选择器分类:简单选择器、关系选择器、属性选择器、伪类选择器、伪对象选择器、组合选择器
选择器也可以叫做选择符
1 简单选择器
a 标签选择器
标签名{ css代码 }--->div{ css代码 }
b class选择器(类选择器)
<p class="pTag"></p>
ps:body及body里面所有的元素都有class这个HTML属性,class的属性值我们叫它类名或者class名
.类名{ CSS代码 }--->.pTag{ CSS代码 }
通过一个类名定义了一套样式,只要html元素里面引用了该类名,那么这套样式都会对元素有影响
如何来取类名:类名只能由数字、字母、下划线构成,但是不能以数字开头
1tag--->错误
tag1 navTagName NavTagName nav_tag_name nav-tag-name nav-tag-name1...
推荐方式:一个单词 tag1 nav-tag-name,所取类名必须要知名见意
<div class="header-container"></div>
ps:类名可以重复
c id选择器
<p id="idName"></p>
#id名{ css代码 }---->#idName{ css代码 }
ps:body及body里面所有的元素都有id这个HTML属性,id的属性值我们叫它id名
id的特性:具有唯一性,也就是id名不能重复,相当于咱们身份证号
如何来取id名:类名只能由数字、字母、下划线构成,但是不能以数字开头
1tag--->错误
tag1 navTagName NavTagName nav_tag_name nav-tag-name nav-tag-name1...
推荐方式:一个单词 tag1 navTagName,所取id名必须要知名见意
尽量采用驼峰命名法:第一个单词全部小写,第二个单词及以上首字母大写
id选择器我们尽量不要使用在css里面
d 全局选择器(*)
*{ css代码 }--->可以让当前页面的所有元素都对全局选择器里面所定义的样式产生影响
------简单选择器的优先级顺序-------
id选择器>class选择器>标签选择器>全局选择器
2 组合选择器
a 标签名.类名
<div class="header-container"></div>
div.header-container{ css代码 }
b 标签名#id名
<div id="headerContainer"></div>
div#headerContainer{ css代码 }
c 逗号选择器(,)
<p></p>
<span></span>
p,span{ css代码 }
总结:选择器1,选择器2...{ css代码 } ---->让选择器1、选择器2等等共享这套样式
3 关系选择器
a 相邻选择器(E+F)----E、F分别泛指所有的css选择器,选择紧贴E元素后面的F元素
b 子代选择器(E>F)----选择E元素里所有的F子元素
c 后代选择器(E F)----选择E元素里面所有的F元素
----------------------------------------------------------------
--------
|CSS2属性|
--------
一 文本
1 水平对齐方式
text-align:left/right/center
也可以让img、input等有水平方向的对齐方式
2 垂直对齐方式
vertical-align:top(居顶部)/bottom(居底部)/middle(居中)
多用于table
3 设置行高
line-height:50px/10%;
如果让文本垂直居中与容器,将line-height的值设置跟容器的高度一样。只适用于单行文本
4 首行缩进
text-indent:50px;
5 内容自动换行(css3)
word-break:break-all;---允许在单词内部进行换行
word-break:keep-all;只在空格处或连字符(-)处换行
6 词间距
word-spacing:10px;单词与单词之间的间隙为10px,只要有空格出现就认为是一个词的开始
7 字间距
letter-spacing:5px;设置字(字符)之间的间隙5px
8 设置字体颜色
color:颜色;
9 设置大小字母的转换
text-transform:none/capitalize/uppercase/lowercase;
capitalize:将每个单词的第一个字母大写
uppercase:将单词所有的字母都转换成大写
lowercase:将单词所有的字母都转换成小写
10 文本修饰
text-decoration:none/underline/line-through/overline;
none:不添加或者去掉文本修饰
underline:添加下划线
line-through:添加删除线
overline:添加上划线
如果要去掉a标签默认的下划线,设置text-decoration:none;
二 字体的属性
1 设置字体大小
font-size:50px;
2 字体风格
font-style:italic(斜体)
3 字体加粗
font-weight:bold;
4 设置字体类型
font-family:"黑体"
5 设置小型的大写字母
font-variant:small-caps;
三 边框属性(border)
border-width:5px;设置边框的粗细
border-color:red;设置边框的颜色
border-style:solid(实线)/dotted(点状线)/dashed(块状线);设置边框样式
缩写:
border: 粗细 样式 颜色;
如果给某一边加边框:top right bottom left
border-top-width:5px;
border-top-color:red;
border-top-style:solid;
缩写:
border-top: 粗细 样式 颜色;
四 容器宽高属性(width/height)
width:300px/20%;
height:300px/20%;
-----补充----
常见的块级元素:div ul li ol dt dd hn p table form...
块级元素的特点:可以自动换行、可以直接设置宽高
常见的行内(内联)元素:span a b i s u select option...
内联元素的特点:对宽高没有直接作用、不会自动换行
常见的空元素:link meta br hr input img...
空元素的特点:没有内容 在开始标签中闭合,input、img、hr等可以直接设置宽高
max-width:500px/50%;设置容器的最大宽度
min-width:500px/50%;设置容器的最小宽度
max-height:100px/10%;设置容器的最大高度
min-height:100px/10%;设置容器的最小高度
五 显示(display)
display:none/block/inline/inline-block/line-table/table
none:设置元素隐藏
block:以块级元素显示,设置行内元素以块级元素显示
inline:以行内元素显示,设置块级元素以行内元素显示
inline-block:行内元素的宽高都起作用,但是不会换行显示
table:以表格的方式来显示
inline-table:将行内元素作为表格的方式来显示,而且不会换行---多用于表格(table)同行显示
六 CSS的注释
/* 注释内容 */
七 背景(background)
background-color:颜色;设置容器的背景色
background-image:url("相对路径");设置容器的背景图
background-repeat:repeat/no-repeat/repeat-x/repeat-y;设置背景以那冲方式重复显示
repeat:重复显示,默认值
no-repeat:不重复显示
repeat-x:横向重复显示
repeat-y:纵向重复显示
background-position:水平方向的值 垂直方向的值;如果只写一个方向,另外一个方向默认为center
水平方向的值:left right center 50px 10%
垂直方向的值:top bottom center 50px 10%
默认的为background-position: left top;起始位置为容器的左上角。
background-attachment:设置图片是否随着滚动条滚动,一般都用于body
scroll:滚动
fixed:固定
默认为scroll
缩写:
background: color url("") repeat attachment postion;
八 盒模型(框模型)
页面上任何一个元素我们都可以看成是一个盒子,盒子会占用一定的空间和位置他们之间相互制约,就形成了网页的布局
w3c的盒模型的构成:content border padding margin
1 padding:内边距(内部填充距)
padding-right:50px/10%;
padding-left:50px/10%;
padding-top:50px/10%;
padding-bottom:50px/10%;
缩写:
padding: 上 右 下 左;----从十二点钟方向开始,顺时针
padding: 50px;表示四个方向的值都设置成50px
padding: (上下) (左右);表示上下的值一样,左右的值一样
padding: 上 (左右) 下;
2 margin:外边距,元素与元素之间的距离
margin-right:50px/10%;
margin-left:50px/10%;
margin-top:50px/10%;
margin-bottom:50px/10%;
缩写:
margin: 上 右 下 左;----从十二点钟方向开始,顺时针
margin: 50px;表示四个方向的值都设置成50px
margin: (上下) (左右);表示上下的值一样,左右的值一样
margin: 上 (左右) 下;
如果让一个容器水平方向居中:margin: px/% auto;
margin值在垂直方向会有重叠的现象,在取值的时候取较大值
九 浮动
文档流:正常的文档流是块级元素从上到下,行内元素从左到右的顺序展示
给一个元素赋值浮动后,该元素就会脱离正常的文档流进行左右浮动,直到它本身的外边缘碰到包含框或另一个浮动框的左右
float:left/right;
left---向左浮动
right---向右浮动
加了浮动过后的元素会导致父元素高度陷塌,由加了浮动过后的元素导致的,脱离了正常文档流
如果将多个同辈元素设置成向右浮动过后,会让这些元素倒着排序
解决父元素高度陷塌的方法:
1 设置父元素的高度
2 清除浮动
浮动的作用:可以让块级元素同行显示
十 列表属性(li)
列表的项目符号
list-style-type:disc(实心)/circle(空心圆)/square(方块)/none(不设置或者去掉)
list-style-image:url("图片路径");可以用背景图来设置项目符号
list-style-postion:outside(外面)/inside(里面);设置项目符号的位置
缩写:
list-style: type/image positon;
list-style:none;去掉项目符号
十一 表格属性(table)
border-collapse:separate(表格独立)/collapse(相邻边合并)
border-spacing:px/%;设置td与td之间的距离;
布局总结:
分类导航、菜单栏:div>>>>ul(ol)>>>>li
显示数据:table>>>>>tr>>>>td
表单布局:form(div)>>>>input
web前端CSS2学习2017.6.17的更多相关文章
- Web前端培训学习心得
web前端工程师技术日趋成熟,越来越多的行业巨头正不断向web前端工程师示好,在未来几年,web前端将会以更多的形式渗透到我们生活中的方方面面,因此越来越多的从业者开始关注web前端开发行业,今天小编 ...
- web前端开发学习内容
应该 具备的 知识技能 :懂web标准,熟练手写 xhtml css3 并符合 符合w3c标准 代码能 兼容主流浏览器.ie6.7.8.9 ff 等. ...
- WEB前端开发学习:源码canvas 雪
WEB前端开发学习:源码canvas 雪 双旦节要到了,程序员们为了响应气氛,特别用代码制作了动态雪花,WEB前端开发学习的初学者们一起跟着案例做一遍吧! <!DOCTYPE html> ...
- web前端开发学习:jQuery的原型中的init
web前端开发学习:jQuery的原型中的init 有大量web前端开发工具及学习资料,可以搜群[ web前端学习部落22群 ]进行下载,遇到学习问题也可以问群内专家以及课程老师哟 jQuery.fn ...
- Web前端的学习介绍(截止今天还有Bootstrap没有学,要腾点时间解决掉)
Web前端的学习分为以下几个阶段,具体的学习路线图如图所示. 第一阶段——HTML的学习 超文本标记语言(HyperText Mark-up Language 简称HTML)是一个网页的骨架,无论是静 ...
- web前端的学习误区
web前端的学习误区 网页制作是计算机专业同学在大学期间都会接触到的一门课程,而学习网页制作所用的第一个集成开发环境(IDE)想必大多是Dreamweaver,这种所见即所得的“吊炸天”IDE为我们 ...
- 绝版珍珍藏:web前端技术学习指南
绝版珍珍藏:web前端技术学习指南 优秀的Web前端开发工程师要在知识体系上既要有广度和深度!应该具备快速学习能力. 前端开发工程师不仅要掌握基本的Web前端开发技术,网站性能优化.SEO和服务器端的 ...
- web前端开发学习路线图
Web前端是一个入行门槛较低的开发技术,但更是近几年热门的职业,web前端不仅薪资高发展前景好,是很多年轻人向往的一个职业,想学习web前端,那么你得找到好的学习方法,以下就给大家分享一份适合新手小白 ...
- 史上最全的web前端系统学习教程!
这份资料整理花了近7天,如果感觉有用,可以分享给更有需要的人. 在看接下的介绍前,我先说一下整理这份资料的初衷: 我的初衷是想帮助在这个行业发展的朋友和童鞋们,在论坛博客等地方少花些时间找资料,把有限 ...
随机推荐
- 《安卓网络编程》之第七篇 java编写Service程序
import java.io.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.net. ...
- Lua学习(2)——表达式
1. lua算术操作符lua支持的算数操作符: + - * /除 ^指数 %取模 -符号 2. lua关系操作符 <小于 >大于 <= >= == ~=不等于 3. 逻辑操作符 ...
- laravel实现excel表格导出
记得引用一下excel,现在laravel5.2都默认自带的,不需要自己再 Composer安装依赖了. use Excel; 然后方法里这样写 //$cellData自己要进行导出的数组 Array ...
- hadoop2.7.2单机与伪分布式安装
环境相关 系统:CentOS 6.8 64位 jdk:1.7.0_79 hadoop:hadoop 2.7.2 安装java环境 详见:linux中搭建java开发环境 创建hadoop用户 # 以r ...
- Comparing the contribution of NBA draft picks(转)
When it comes to the NBA draft, experts tend to argue about a number of things: at which position wi ...
- 微信小程序 支付功能(前端)的实现
只提供微信小程序端代码: var app = getApp(); Page({ data: {}, onLoad: function (options) { // 页面初始化 options为页面跳转 ...
- 基于类(Java)和基于原理(JavaScript)的对象系统的比较
Java:面向对象编程语言,吸收了C++语言的各种优点,丢掉了C++让人头疼的多继承.指针等概念.具有功能强大和简单易用的两大特征.Java具有简单性.面向对象.分布式.健壮性.安全性.平台独立与可移 ...
- Java中的向上造型和向下造型等
package com.study.oop.day01; /** * 如果某个方法是静态 的,它的行为就不具有多态性 * @author LuHongGang * @date 2017年6月5日 ...
- 数据库MySQL纯净卸载
有些人在安装MySQL后,卸载后再次安装时,一直安装不上去,到最后不得不重装系统来安装MySQL.这里教大家如何将MySQL卸载干净,不影响下次安装. 卸载过程 1.停止mysql服务 2.进行卸载 ...
- 使用Eclipse进行Javaweb项目开发时,如何设置外置浏览器Chrome
使用Eclipse开发Javaweb项目时,在Eclipse中显示页面不是很好,那么如何让它自动打开外置浏览器呢?操作如下