css
来源:互联网 发布:数据库添加语句 编辑:程序博客网 时间:2024/04/26 09:06
1.昨日复习
标签选择器: P{ key1: value1;key2:value2; }
类选择器: .p_class{key:value;}
Id选择器: #p_id{ key: value;}
子孙选择器: ul li p{ key: value; }
并集交集: p , h1{ key: value; } p.p_class{ key: value;}
通配符选择器: *{key: value;}
子选择器: ul>li>p{key: value;}
下一个兄弟选择器: h1+p{key; value;} 这个选中是p
序选择器: p:first-child{ key: value; } 这个选中的是一排p标签中的第一个p
继承性和层叠性:
1.如果都直接选中, 那么权重大的起作用
2.如果都选中且权重一样大, 谁写下面谁起作用
3.如果选中与没选中做比较, 那么选中的起作用
4.如果大家都没有选中, 那么按照就近原则
5.如果都没有选中,且一样近, 那么根据权重来算, 如果此时权重也一样, 那么谁写下面谁起作用
!important:
!important只给属性加权重, 无法给继承来的属性加权重
2.盒模型(div)
我们现在讲的盒模型属于标准盒模型
一个盒子的主要属性, 有5个: width height padding border margin
Width: 宽度(内容的宽度)
Height: 高度(内容的高度)
Padding: 盒子的内边距
Border: 盒子的边框
Margin: 盒子的外边距, 盒子与盒子之间的距离
该图是由如下代码实现的:
这个盒子是内容高度和宽度为200px, 但是真实所占的高度和宽度是320px, 因为还要再加上2 * padding 和 2 * border, 我们作为程序员看到一个盒子的高度和宽度, 要先看到内容区域, 再看到盒子真实占有的部分
注意:
我们制作网页, 要考虑的是盒子的大小, 而不是内容区域的大小, 所以如果调整width,height, 而要保持盒子大小不变, 就必须响应的调整padding border, 因为盒子的变大或变小对于网页布局是灾难性的!
课堂练习: 写三个盒子的宽高为440px的盒子
盒子所占的宽度 = width + 左边的padding + 右边的padding + 左边的border + 右边的border
3.Padding
Padding是内边距:
特性: padding区域我们实测是有背景颜色,并且和内容区域是一样的背景色
Padding是分4个方向:
所以代码里就可以分4个方向设置:
如下: padding-top padding-right padding-bottom padding-left
代码示例如下:
padding-top: 30px;
padding-right:60px;
padding-bottom:90px;
padding-left:10px;
还可以使用综合属性设置:
1.综合属性设置4个值, 那么则是顺时针方向设置padding:30px 60px 90px 10px;
2.综合属性设置3个值, padding: 30px 60px 90px; 少了最后一个, 则会自动取对面方向的padding,也就相当于 padding: 30px 60px 90px 60px;
3.综合属性设置2个值, padding:30px 60px; 相当于 padding:30px 60px 30px 60px;
4.综合属性设置1个值, padding:50px; 相当于上右下左, 全部都是50px
课堂练习: padding设置上右左为30px 下为20px; 要求最方便的设置
代码如下: padding: 30px;
Padding-bottom: 20px;
在实际的做网页过程中, 我们会发现, 浏览器会给一些标签默认带有padding, 这个padding的数值基本上与网页的要求不符, 所以需要清除padding, 比如ul标签
Ul{ padding: 0; }
4.Border
Border就是边框, 边框有三个要素: 粗细, 线型, 颜色.
Border的style, 系统默认给了很多种, 但这些我们基本只用solid, 因为其他的很多在不同浏览器中是不一样的; 如果公司里设计师的要求较高, 我们就只能去切图来做
综合属性:
Border: 1px solid gray; 这个是综合属性的写法
还可以按照方向来拆, 跟padding一样
Border-top border-right border-bottom border-left
还可以按照要素来拆:
Border-style border-width border-color
终极拆法有12种:
Border-top-width: 12px;
Border-top-style:solid;
Border-top-color:black;
Border-right-width:12px;
Border-right-style:solid;
Border-right-color:black;
Border-bottom-width:12px;
Border-bottom-style:solid;
Border-bottom-color:black;
Border-left-width:12px;
Border-left-style:solid;
Border-left-color:black;
5.标准文档流(非常重要)
1.在web页面中, 我们无法像设计软件制图一样,想画哪里就画哪, 这因为web页面制作是一个流, 必须从上而下制作,
2.在web页面制作中, 我们将这种流, 称为标准文档流; 并且还具有一些特征
A> 空白折叠现象
B>高矮不齐, 底边对齐
C> 有的标签只有在一行写不下,才会自动换行
D> 还分有的标签会自动换行
5.2块级元素和行内元素
块级元素
1. 独占一行, 不能与其他任何元素并存一行
2. 能够设置宽和高
3. 如果不设置宽和高, 那么将是父亲盒子的宽度的100%
行内元素
1. 比较友好, 可以与其他行内元素并存一行
2. 不能设置宽和高
3. 设置或者不设置宽高, 都由文本撑开
5.3行内块级元素
1.比较友好, 可以和其他行内元素或者行内块级元素并存一行
2.可以设置宽高
在html中, 我们已经给标签分过类: 文本级和容器级
文本级: p span a b i u em
容器级;div h系列 ul li dt dd
在css中, 我们又给标签分类, 分为行内与块级(行内块级)
行内标签:span a b i u em
块级标签:div h系列 ul li dt dd p
行内块级: img input
5.4行内与块级元素相互转换
使用display 属性可以实现转换, 代码示例如下:
Display:block;
Display:inline;
小总结: 标准文档流, 限制特别多, 比较恶心,
Div+css 是目前业内网页布局的主流, 所以, 我们不可能仅仅依靠标准文档流来布局
因此, 我们需要脱离标准文档流来做网页,
5.5脱离标准文档流的手段
1.浮动
2.绝对定位
3.固定定位
6. 浮动(非常重要)
浮动是css中, 从事布局工作的, 使用最频繁的属性
浮动的元素脱标;
脱标就是去除标准文档流的限制, 比如:
1.浮动的元素可以并存一行;
2.并且可以设置宽和高
浮动的理解:
浮动脱标, 脱标之后, 就不占有标准文档流的空间,
我们的理解: 一个元素, 当添加浮动属性, 他就到了上一层画布, 如果是left则往左飘, 但是有一个方向是默认的, 是向上;
注意: 一个浮动的标签的结构之前有个标签是标准文档流,则无论如何, 都不会覆盖该标准文档流标签!
6.1相同方向的浮动的元素会互相贴靠
连续浮动的元素, 只要有足够的空间, 会相互贴靠, 没有足够的空间, 则再起一行
6.2字围
7. Margin
外边距:
外边距分为四个方向:margin-top margin-right margin-bottom margin-left
在标准文档流中, 在垂直方向中, 有margin的塌陷现象
- CSS
- css
- css
- css
- css
- CSS
- CSS
- css
- css
- CSS
- css
- css
- CSS
- css
- CSS
- css
- CSS
- css
- CVE-2015-1641浅析-word类型混淆漏洞
- JAVA 攻城狮 第十七天
- CentOS 7.3安装详解
- 解决通常每个套接字地址(协议/网络地址/端口)只允许使用一次
- Git 和 Github 使用教程
- css
- codeforces830A (二分|DP)
- Java学习笔记 02
- 测试
- 【脚本语言系列】关于Python基础知识__slots__,你需要知道的事
- 数据库事务的四大特性以及事务的隔离级别
- unicode gbk 转换函数
- Node.js中间件和spring boot配合使用
- Firebase-config 在android中的使用