CSS:描述样式
一、CSS
css:Cascading Style Sheet,层叠样式表,用于描述网页样式
1. 同一个标签可以有多个选择器作用,给他增加样式;
2. 有继承性,祖先的标签的一些属性,可以继承给后代标签;
3. 有层叠性,当遇见冲突的时候有着一套严密法律,规定谁生效谁被杠掉。
css的维护者是w3c,最新版是css3,但是浏览器没有那么好的兼容
css分成两部分:
1. 选择谁?
2. 设置什么样式?
二、选择器
1. 标签选择器
2. id选择器 "#"
3. class选择器 "."
给某一类元素,设置相同的类名,然后通过这个类名来选择它们。
原子类:将一些简单的属性做成一个类,然后元素自行选择
4. 后代选择器 .div1 .div3 p{}
5. 交集选择器 p.ha{}
6. 并集选择器 p,div{}
7. 通配符 *{}
继承性
css规定,有一些属性,给某一个元素设置了,它的后代元素同样拥有这个属性了。
有了继承性,就能够把一些初始的,基本的,普遍的设置,写在body里
哪些元素具有继承性呢?
color
text-系列,例如 text-decoration:underline;
font-系列,例如 font-size:30px;
line-系列
特别的,要知道不能继承的属性:background-color、所有盒模型的属性(width、height、border、padding、margin)都是不继承的!
层叠性
处理冲突的能力,就是当多个选择器都选择上了同一个标签,听谁的?
权重:id > class > 标签
1. 选择上了
先比权重--再比远近(style出现的顺序)
2. 没有选择上
先比远近(祖辈标签的距离)--再比权重
应用场景:先设置共性、再针对设置私有(层叠掉共性)
!important提升权重:严禁滥用!important提升权重,只能在原子类的情况时有!
三、设置样式
颜色表示法
1. 单词
black、white、red、green、blue、yellow、pink、orange、purple、gold、gray、yellowgreen、greenyellow等等
2. rgb()
红色
background-color: rgb(255,0,0);
绿色
background-color: rgb(0,255,0);
蓝色
background-color: rgb(0,0,255);
黑色
background-color: rgb(0,0,0);
白色
background-color: rgb(255,255,255);
灰色
background-color: rgb(111,111,111);
3. 十六进制
1. 文字样式
color
font-size:尺寸
line-height:行高
font-family:字体
网页中,为了让所有用户都有一致的体验,只能使用宋体、微软雅黑
font-family:"Arial","Microsoft Yahei","SimSun";
font-weight:字体权重
font-weight:bold; ---> font-weight:700; 加粗
font-weight:normal; ---> font-weight:400; 不加粗
font-style:样式
font-style:italic; 倾斜
font-style:normal; 不倾斜
text-decoration:字体装饰
text-decoration:underline; 下划线
text-decoration:none; 默认,没有下划线
text-decoration:line-through; 删除线
font综合
font:italic bold 12px/20px "arial","Microsoft Yahei","SimSun";
2. 盒子模型
盒模型就是width、height、padding、border、margin这几个属性
真实占有宽度 = width + 左边padding + 右边padding + 左边border + 右边border
padding:上、右、下、左
padding-top、padding-right、padding-bottom、padding-left;
padding:10px 20px 30px;
/*等价于*/
padding-top:10px;
padding-right:20px;
padding-bottom:30px;
padding-left:20px;/*和右边一样*/
border:粗细 线型 颜色
border:1px solid red; 工作中只许用solid(实线)和dashed(虚线),其他线型都有兼容问题
border-width、border-style、border-color;
border-top-width、border-top-style、border-top-color;
border-bottom:none; 如果某一个边框我们不想要,那么就写none
margin:外边框
margin-top、margin-right、margin-bottom、margin-left;
注意:相邻的两个margin有塌陷现象,以margin大的为准。
居中策略
text-align:center; 盒子中的文字水平居中
margin:0 auto; 盒子本身水平居中
line-height:盒子高度; 但行文本的垂直居中
3. 浮动
标准文档流
从左至右、从上到下、有一个"光标"的概念
性质:空白折叠现象;高矮不齐,底边对齐;把元素分为"块级元素"和"行内级元素"
块级元素:div、h、p、ul、li、dl、dt、dd
能够设置宽度、高度(没有设置宽度,默认是父亲的宽度)
不能并排
行内级元素:span、a、b、u、i、em、strong
不能设置宽度、高度
可以并排
块级和行内相互转换
display:block; 把行内-->块 非常有用
display:inline; 把块-->行内 丝毫无用,工作10年都遇不到
我们发现标准文档流是做不出网页的,因为它太迂腐:能够设置宽度的不能并排,能够并排的不能设置宽高
所以需要脱离标准流:脱离标准流一共有三种方法:浮动、绝对定位、相对定位
浮动:float
浮动是做并排用的
浮动元素脱离了文档流,所以没有inline、block之分了
浮动的儿子不能撑高父亲
浮动在竖直方向上的margin塌陷现象消失
浮动字围效果
清除浮动
有高度的盒子能够管住自己内部的浮动元素
如果盒子没有高度,内部浮动的元素序列就乱套了,第二个序列就会追随第一个序列了。
解决办法1:给后面的盒子加上clear:both
缺点:box还是没有高度、margin失效
解决方法2:隔外墙
虽然margin失效,但可以用小技巧来弥补,可以用墙的高度来做间隔
但是盒子依然没有高度
解决办法3:内墙
现在有了margin、也有了高度了,但是放置的标签太多。这些标签没有语义,看起来不爽。
解决办法4:overflow:hidden;
工作中常用的
在浮动的父盒子上加 overflow:hidden;
在两个大部分之间隔外墙
<div class="box1"> → 这个盒子没高,就写上overflow:hidden;
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
</div>
<div class="box2"> → 这个盒子没高,就写上overflow:hidden;
<p>1</p>
<p>2</p>
<p>3</p>
</div>
4. 定位
position:relative; 相对定位
position:absolute; 绝对定位
position:fixed; 固定定位
子绝父相
z-index 只有定位的元素才能写z-index值;从父现象(父亲怂了,儿子再牛逼也没有用)
5. 背景
属性
background:red url(1.jpg) no-repeat -10px -100px fixed;
background-color:red;
background-image:url(images/1.jpg);
background-repeat:no-repeat/repeat-x/repeat-y;
background-attachment:fixed; 固定
background-position:100px 200px;
最常见的应用:CSS精灵
就是把多个小杂碎图片,合成一张图片,然后通过backgroud-position定位只显示其中一部分。
这样能够显著降低HTTP请求数
应用:
通栏banner/大背景
background-position:center top; ---->background-position:50% 0;
背景图的应用
先导符号放到padding里
<h1>爱前端-专业的前端开发培训</h1>
.header h1{
width: 221px;
height: 68px;
background:url(images/logo.png);
/*h1中的文字方便搜索引擎抓取,背景图用于展示*/
line-height: 400px;
overflow: hidden;
}
6. 表格、列表
ul{
list-style:none;
}
7. 超链接美化
伪类:link、visited、hover、active
爱恨准则:love hate
常见写法:
a:link,a:visited{}
a:hover{}
/*楔形小三角*/
div{
width: 0px;
height: 0px;
border: 10px solid white;
border-top-color:blue;
border-bottom: none;
transition:all 0.4s ease 0s;
}
div:hover{
transform:rotate(180deg);
}
CSS:描述样式的更多相关文章
- 【css学习整理】css基础(样式,语法,选择器)
CSS是什么? cascading 层叠样式表 sheet 样式文件 style 外观个性化 CSS语法? 声明方法: 选择器(属性: 值; 属性: 值) 选择器: 通过名称制定对哪些标签进行样式设置 ...
- 0010 CSS字体样式属性:font-size、font-family、Unicode字体、font-weight、font-style、综合设置、color、 text-align、line-height、text-indent、text-decoration、、、
CSS字体样式属性.调试工具 目标 应用 使用css字体样式完成对字体的设置 使用css外观属性给页面元素添加样式 使用常用的emment语法 能够使用开发人员工具代码调试 1.font字体 1.1 ...
- CSS数据样式
CSS数据样式 表格 定制表格 我们除了可以使用<table>标签进行绘制表格,在css3中display也支持进行表格的样式绘制. 样式规则 说明 table 对应 table tabl ...
- 2020年12月-第02阶段-前端基础-CSS字体样式
CSS字体样式属性调试工具 应用 使用css字体样式完成对字体的设置 使用css外观属性给页面元素添加样式 1.font字体 1.1 font-size:大小 作用: font-size属性用于设置字 ...
- 精简的网站reset 和 css通用样式库
参考链接:http://www.zhangxinxu.com/wordpress/2010/07/我是如何对网站css进行架构的/ reset.css body{ line-height:1.4; c ...
- css初始化样式代码
为什么要初始化CSS? CSS初始化是指重设浏览器的样式.不同的浏览器默认的样式可能不尽相同,所以开发时的第一件事可能就是如何把它们统一.如果没对CSS初始化往往会出现浏览器之间的页面差异.每次新开发 ...
- 漂亮的CSS按钮样式集以及在线生成工具
以前我们制作一样带带阴影.圆角或3D感的按钮都需要用图片来制作,但CSS3出来后就可以不用图片了,由于是代码写的按钮样式,在Retina上浏览依然清晰美观.虽然不错,但我们写一个阴影+质感的按钮还是挺 ...
- WEB前端开发CSS基础样式全面总结
Web前端开发css基础样式全面总结 颜色和单位的使用 颜色 用颜色的名字表示颜色,比如:red 用16进制表示演示 比如:#FF0000 用rgb数值表示颜色,rgb(红,绿,蓝),每个值都在0-2 ...
- html / css打印样式
最近做公司后台系统,需要打印贴箱标签,按照正常打印A4纸的标准,测试的效果不是自己想要的,文字排版布局都乱了,查了一些资料,需要设置的东西我总结了一下: 显示器(screen)和打印机(printer ...
- CSS常用样式及示例
CSS常用样式及示例 一.简介 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集) ...
随机推荐
- POJ 1595 Prime Cuts (ZOJ 1312) 素数打表
ZOJ:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=312 POJ:http://poj.org/problem?id=159 ...
- php课程 2-7 php中常量如何定义
php课程 2-7 php中常量如何定义 一.总结 一句话总结:函数方式定义和普通变量方式定义 define('PI','3.14').键值对,和session一样. const PI=3 ...
- [Yarn] Use Yarn to Create an Alternative Import Name of an Installed Library
In this lesson we'll show how to use yarn to alias the names of same npm libraries but install diffe ...
- swift学习第十二天:类的属性定义
类的属性介绍 Swift中类的属性有多种 存储属性:存储实例的常量和变量 计算属性:通过某种方式计算出来的属性 类属性:与整个类自身相关的属性 存储属性 存储属性是最简单的属性,它作为类实例的一部分, ...
- 利用a标签导出csv文件
原文 简书原文:https://www.jianshu.com/p/a8687610cda3 大纲 1.需求分析 2.通过a标签实现文件导出 3.实现方式 1.需求分析 导出文件,使用最多的方式还是服 ...
- ios开发网络学习六:设置队列请求与RunLoop
#import "ViewController.h" @interface ViewController ()<NSURLConnectionDataDelegate> ...
- 翻译 | Qt研发副总裁分享2018年工作计划
原文作者:TuukkaTurunen,高级研发副总裁 翻译校审:Haipeng.Yulong和Ryan 引言:2018年,我们将继续完善Qt 5.9 LTS,现在我们正在为5月份发布Qt 5.11进行 ...
- 学习Numpy
1.什么是numpy NumPy系统是Python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多( ...
- iis MP4 不能访问404
为什么我上传了flv或MP4文件到服务器,可输入正确地址通过http协议来访问总是出现“无法找到该页”的404错误呢?这就表明mp4格式文件是服务器无法识别的,其实,这是没有在iis中将相应的MIME ...
- session了解及超时处理
Session了解 Session是什么 引言 在web开发中,session是个非常重要的概念.在许多动态网站的开发者看来,session就是一个变量,而且其表现像个黑洞,他只需要将东西在合 ...