上节课复习

!important不能影响就近原则,远的标签如果加上!important也干不过近的标签!

!important不能影响继承权重是0,通过继承的标签加上!important也干不过直接选中的标签!

盒模型

网页中的所有标签都是盒子,都是矩形,都有width、height、padding、border、margin属性的。

最重要的一个知识点,就是width和真实宽度的关系

1.会看懂盒模型图

div{
width: 200px;
background-color: greenyellow;
padding: 20px;
border:30px solid red;
}

也就说,padding、border都是外扩的。

2.padding内边距

padding就是内边距,指的是边框内侧到内容的距离。

padding的设置有很多方法

padding:50px;设置四个方向的padding都是50px;

四个值:

padding:10px 20px 30px 40px;等价于单独设置了上、右、下、左的padding分别分10、20、30、40等价于

padding-top:10px;
padding-right:20px;
padding-bottom:30px;
padding-left:40px;

三个值:

padding:10px 20px 30px;

等价于

padding-top:10px;
padding-right:20px;
padding-bottom:30px;
padding-left:20px; /*左边的值没有指定,所以和右边相同*/

两个值:

padding:10px 20px;

等价于

padding-top:10px;
padding-right:20px;
padding-bottom:10px;
padding-left:20px;

注意,一些元素默认带有padding:比如ul等等,

为了防止这些默认的padding、margin影响我们制作页面,我们要在页面开头书写:

<style type="text/css">
*{
padding:0;
margin:0;
}
</style>

就能把所有标签的默认的padding、margin都去掉

当然这么写有效率问题,别担心,项目课将告诉你最正确的清除默认padding、margin的方法。

3.border边框

边框有三要素:粗细、线型、颜色。

border:1px solid red;

px就是边框的宽度, solid就是边框的线型 , red就是边框的颜色。

线型:

工作中只许使用solid(实线)和dashed(虚线),其他的所有的线型都有兼容性问题,如果想制作其他类型的边框,必须切图!

兼容性问题,IE浏览器中和Chrome浏览器中的边框,明显长得不一样。

注意,三要素分别对应了三个小属性:

border:10px solid red;

等价于

border-width:10px;
border-style:solid;
border-color:red;

我们称呼border为“复合属性”。

特别的,如果我们想为某一个边,单独设置三要素,那么可以拆分为12个小属性:

border:10px solid red;

等价于:

border-top-width:10px;
border-top-style:solid;
border-top-color:red;
border-right-width:10px;
border-right-style:solid;
border-right-color:red;
border-bottom-width:10px;
border-bottom-style:solid;
border-bottom-color:red;
border-left-width:10px;
border-left-style:solid;
border-left-color:red;

更特别的,boder-color是可以按照上右下左的顺序书写:

border-color:red yellow green;

上边是红色, 左边、右边是黄色, 下边是绿色。

小练习1:

border:10px solid black;
border-left-color:red;

小练习2:

border:10px solid black;
border-color:black red;

小练习3:

border:10px solid red;
border-width:20px 10px;
border-color:black red blue green;

如果某一个边框我们不想要,那么就写none

border-bottom:none;

下边框就没有了。

4.margin外边距

自己这个盒子的边框外侧, 到其他盒子边框外侧的距离

margin有四个方向,分别是 margin-top、margin-right、margin-bottom、margin-left。

塌陷现象:

去掉ul的小圆点,要给ul加

ul{
list-style:none;
}

居中策略

1.文字水平居中

如果想让盒子中的文字水平居中,那么要给盒子设置

text-align:center;

这个属性继承。

它还有两个可能的值:

text-align:left;
text-align:right;

这个方法,只能居中文本流的东西(文字、图片、表单元素)。一定要记住,这个属性要设置给盒子,不能设置给这些文字、图片、表单元素。

2.盒子水平居中

让盒子设置:margin:0 auto;

margin: 0 auto; 是给盒子用的,要加给盒子自己。它将在自己的父元素内部居中。

3.单行文本的垂直居中

line-height:盒子的高度;

行高=盒子高, 此时单行文本就将在盒子中居中。注意,这个方法只能适用于单行文本,多行不适用。

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
<style type="text/css">
p{
width: 400px;
background-color: yellow;
border: 1px solid #ABCDEF;
line-height: 60px;
text-align: center;
height: 60px;
}
</style>
</head>
<body>
<p class="tip">点击查看更多</p>
</body>
</html>

标准文档流

1.什么是标准文档流

我们发现,Fireworks作图,可以在任何一个地方落笔;word这个软件则不一样,有一个“光标”位置,你必须在当前光标位置去书写文字。

第二行文字的位置,仰赖于第一行文字,比如第一行文字多,第二行文字就下移了;比如第一行文字大,第二行文字又下移了。

网页也是这样,从左至右、从上到下,有一个“光标”的概念。 标准文档流中,内置了很多性质。

2.标准文档流有什么性质

1.空白折叠现象

标签内的文字,不管有多少个空格、换行、tab,都会缩减为同一个空格。

2.高矮不齐,底边对齐

最最重要的性质来了,就是标准文档流中,把元素分为“块级元素”和“行内级元素”两种。

3.块级元素和行内级元素

块级元素是能单独在一行的,行内元素是不能单独在一行的。

我们把HTML标签分为两大类:

  • 块级元素(block level):div、h系列、p、ul、li、dl、dt、dd
  • 行内级元素(inline level):span、a、b、u、i、em、strong

块级元素:

  • 能够设置宽度、高度;
  • 不能并排;
  • 不设置宽度,那么宽度将默认变为父亲的width

行内级元素:

  • 不能设置宽度、高度;(但是可以设置行高)
  • 可以并排;

4.行内元素和块级元素可以自由转换

给任何一个元素,设置

display:block;

它将转为块级元素,拥有块级元素的所有性质;

相仿的,给任何一个元素,设置

display:inline;

它将转为行内元素,拥有行内元素的所有性质;

有什么用?

把一个块 → 行内 丝毫无用,工作10年都遇不见。

但是行内 → 块 非常有用!

我们发现标准文档流是做不出网页的,因为它太迂腐:能设置宽高的不能并排,能并排的不能设置宽高。

所以脱离标准流! 脱离标准流一共有三种方法:浮动、绝对定位、相对定位。

浮动

浮动的理论知识挺多的,头头是道。但是我们为了考虑吸收,我们今天忽视科学性,就看一些皮毛的“浮动”。下次课我们深入研究浮动。

今天只用,不研究。

1.浮动 —— 做并排用的

float就是英语“浮”的意思,left就是左浮动。要浮动就是两个都要浮动的。

float:left;

right右浮动。

float:right;

浮动的元素会去贴父盒子的边,贴边的过程中,如果被它的哥哥们挡住了,就会贴在哥哥的边上。

如果要保证儿子的并排,父亲要有足够的width。

我们下节课将详细研究浮动,记住一个结论:浮动的元素不能撑高父亲了。

05_CSS入门和高级技巧(3)的更多相关文章

  1. 03_CSS入门和高级技巧(1)

    上节课知识的复习 插入图片,页面中能够插入的图片类型:jpg.jpeg.bmp.png.gif:不能的psd.fw. 语法: <img src="路径" alt=" ...

  2. (Dos)/BAT命令入门与高级技巧详解(转)

    目录 第一章 批处理基础 第一节 常用批处理内部命令简介 1.REM 和 :: 2.ECHO 和 @ 3.PAUSE 4.ERRORLEVEL 5.TITLE 6.COLOR 7.mode 配置系统设 ...

  3. 10_CSS入门和高级技巧(8)

    图片透明 先来复习一下盒子的透明问题: opacity:0.6; 介于0~1之间,为了让IE兼容,我们要使用IE自己的滤镜: filter:alpha(opacity=60); 盒子的透明,会让里面的 ...

  4. 07_CSS入门和高级技巧(5)

    超级链接美化 1.伪类 同一个超级链接,根据用户的点击情况,有自己样式: 超级链接根据用户点选情况,有4种状态: a:link 没有访问的超级链接 a:visited 已经访问的超级链接 a:hove ...

  5. 08_CSS入门和高级技巧(6)

    排查错误 Chrome浏览器的审查功能. 错误1:选择器写错了,压根没有选择上: 如果写了一个错误的选择器, <style type="text/css"> dvi p ...

  6. 09_CSS入门和高级技巧(7)

    浏览器兼容问题 1.现在中国网民用什么浏览器? 中国流量最大的网站就是百度,百度在统计着每一个访问者的浏览器.地域.操作系统.分辨率等等信息. 百度流量研究院:http://tongji.baidu. ...

  7. 06_CSS入门和高级技巧(4)

    复习 CSS : 负责样式层,层叠式样式表cascading style sheet.CSS2.1,最新版本CSS3. CSS选择器: 选择哪些元素加样式.基本选择3种:标签p.id选择器#id.cl ...

  8. 04_CSS入门和高级技巧(2)

    上节课复习 HTML表格,table.tr.td(th):thead.tbody:caption. 一定要会根据图形,来写表格: <table border="1"> ...

  9. smarty半小时快速上手入门教程

    http://www.jb51.net/article/56754.htm http://www.yiibai.com/smarty/smarty_functions.html http://www. ...

随机推荐

  1. 使用snapjs实现svg路径描边动画

    一,snap.svg插件在近几天,突然接到一个需求,内容是要在网页上写一个路径的动画,还需要可以随意控制动画的速度,开始于结束,本来是一个图片可以解决的问题,结果就这样变难了呀,在网上查一会之后,突然 ...

  2. 使用SVG内置API计算图形或点经过transform之后的新坐标

    一个应用场景是,点击一条路径,显示该路径的控制点.因为有transform变形( 平移.缩放.倾斜.旋转等变换),所以获取变形后的新坐标需要计算. 纯数学的方法,就是用2D变换矩阵的一些公式去运算,过 ...

  3. [apue] getopt 可能重排参数

    看第21章时,介绍到了解析命令行的神器 getopt,了解了 linux 下处理通用命令行的方法. 命令行可分为参数与选项,其中不带 - 或 -- 前缀的为参数,对一个命令而言数量是固定的,多个参数之 ...

  4. Linux下安装python3环境搭建

    Linux下python3环境搭建 Linux安装软件有哪些方式? rpm软件包 手动安装 拒绝此方式 需要手动解决依赖关系 yum自动化安装 自动处理依赖关系 非常好用 源代码编译安装,可自定义的功 ...

  5. 如何将Python项目发布到PyPI

    The Python Package Index (PyPI) is a repository of software for the Python programming language. 如何打 ...

  6. CentOS下宝塔如何部署Django项目?

    基础环境 装好宝塔服务 宝塔里装好[Python项目管理器] 宝塔里装好[Nginx] 把Django项目代码发到服务器 把代码放到服务器上有两种方法: 方法一:服务器上安装Git,通过Git Clo ...

  7. PG TO Oracle 增量同步-外部表

    背景 最近在负责公司数据Oracle转PG:老平台数据库:Oracle11g:新平台数据库:PostgreSQL12.由于平台统计规则有变动:所以正在推广的游戏数据无法全部迁移过来:只能在老平台上运行 ...

  8. 通过注册表查询 .Net Framework 的版本

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full 注意:即使卸载 .Net Framework 这些注册表依然 ...

  9. js 随机数生成器

    title: js 随机数生成器 js 随机数生成器 js 随机数生成器 确定产生随机数的数目,最小值和最大值: 个数: 最小值: 最大值: 是否为唯一的随机数: 唯一 允许重复 点击生成产生随机数: ...

  10. hdu_2391 Filthy Rich DP

    Filthy Rich Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...