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(标准通用标记语言的一个子集) ...
随机推荐
- 使用github pages创建博客
参考:http://wenku.baidu.com/link?url=hi0nlkIp17HnQQpCkUr3KacZOOVGMOYKYbWzjX_HKJZNZpiRxfGPLuwvUydOVxe ...
- 基于PHP实现一个简单的在线聊天功能(轮询ajax )
基于PHP实现一个简单的在线聊天功能(轮询ajax ) 一.总结 1.用的轮询ajax 二.基于PHP实现一个简单的在线聊天功能 一直很想试着做一做这个有意思的功能,感觉复杂的不是数据交互和表结构,麻 ...
- HDU 1407 测试你是否和LTC水平一样高 枚举、二分、hash
http://acm.hdu.edu.cn/showproblem.php?pid=1407 计算方程x^2+y^2+z^2= num的一个正整数解.num为不大于10000的正整数 思路: 方法一. ...
- P2P网贷第三方托管模式存在5大缺陷,托管机构才是最大赢家
1.注册开户需要2次,用户体验很差劲儿. 理财人和借款人,首先在平台注册,然后还要在第三方托管账户注册. 很多类似的地方,用户体验非常差劲. 比如,密码4个. 平台:登录密码.交易密码 ...
- 中小研发团队架构实践之RabbitMQ快速入门及应用
原文:中小研发团队架构实践之RabbitMQ快速入门及应用 使用过分布式中间件的人都知道,程序员使用起来并不复杂,常用的客户端API就那么几个,比我们日常编写程序时用到的API要少得多.但是分布式中间 ...
- 美轮美奂宇宙星空制作神器Spacescape
本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/46444569 作者:car ...
- Python 语法细节(Python 2.x 与 Python 3.x 语法差异)
Language differences and workarounds 查询 Python 语言版本: >> import sys >> sys.version '3.5.2 ...
- 【9207&&b701】统计数字(NOIP2007)
问题描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000 (1.5*109).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出 ...
- Android JNI编程(二)——C语言的基本数据类型,输出函数,输入函数
版权声明:本文出自阿钟的博客,转载请注明出处:http://blog.csdn.net/a_zhon/. 目录(?)[+] 在学习C语言数据类型之前,我们先来回顾一下Java中的基本数据类型和其特点 ...
- 【u110】灾后重建
Time Limit: 1 second Memory Limit: 128 MB [问题描述] B地区在地震过后,所有村庄都造成了一定的损毁,而这场地震却没对公路造成什么影响.但是在村庄重建好之前, ...