CSS (中)
前言:属性有很多种,需要自己会查手册,这里只是速记有个印象,用的时候要想的起来。
第七章 用CSS 设置背景颜色和背景图像
第一节:设置背景颜色
第二节:设置背景图像
第三节:设置背景图像平铺
第四节:设置背景图像位置
第五节:设置背景图片位置固定

<title>设置背景颜色</title> </head> <body style="background-color: blue;"> <h1 style="background-color: red;">这是一个神奇的标题</h1> ------------------------------------------------------------------------ <title>设置背景图像</title> </head> <body style="background-image: url(../grid.jpg)"> <h1 style="background-color: red;">这是一个神奇的标题</h1> ------------------------------------------------------------------------ <title>设置背景图像平铺</title> </head> <body style="background-image: url(../grid.jpg)"> <div style="background-image: url(../banner.jpg);background-repeat: repeat-x;height: 96px;border: 1px red solid;">这是一个神奇的标题</div> </body> </html> ------------------------------------------------------------------------ <title>设置背景图像位置</title> </head> <body style="background-image: url(../dog.jpg);background-repeat: no-repeat;background-position: 20px 40px"> <h1 style="background-color: red;">这是一个神奇的标题</h1> <p>狗,亦称“犬”,学名“家犬”,与马、牛、羊、猪、鸡并称“六畜”,是人类的主要食物来源之一,有科学家认为狗是由早期人类从灰狼驯化而来,驯养时间在4万年前至1.5万年前,发展至今日,狗大体上可分肉用犬(肉狗)、工作犬、宠物犬、交配犬、军用犬、格斗犬</p> <p>狼在14000年前,甚至可能在 剪纸狗照片集锦16000年前的亚洲东南部,就已经被人类从野生狼驯化为家畜,即狗来玩、打猎、看家护院。 研究人员对来自世界各地的12条狼,以及代表14个不同品种的60只狗进行了全基因组测序。他们通过寻找狗与狼之间显示最大差异的序列,或在犬种中保持一致而在狼中存在差异的序列,搜查了进化标记。最终拿出了一个包含36个区域,总共122个基因的名单。其中一半的区域包含脑基因。其中有6个区域,10个基因与脂肪和淀粉消化相关。具体来说,狗携带了额外拷贝的淀粉酶基因,相比于狼同类。此外,狗生成的麦芽糖酶-葡糖淀粉酶要多12倍,这是因为该酶基因发生了数个突变。第三种基因SGLT1突变提高了肠道糖吸收蛋白质的功能。[1]</p> </body> ------------------------------------------------------------------------ <title>设置背景图片位置固定</title> </head> <body style="background-image: url(../dog.jpg);background-repeat: no-repeat;background-position: 20px 40px;background-attachment: fixed;"> <h1 style="background-color: red;">这是一个神奇的标题</h1> <p>狗,亦称“犬”,学名“家犬”,与马、牛、羊、猪、鸡并称“六畜”,是人类的主要食物来源之一,有科学家认为狗是由早期人类从灰狼驯化而来,驯养时间在4万年前至1.5万年前,发展至今日,狗大体上可分肉用犬(肉狗)、工作犬、宠物犬、交配犬、军用犬、格斗犬</p> <p>狼在14000年前,甚至可能在 剪纸狗照片集锦16000年前的亚洲东南部,就已经被人类从野生狼驯化为家畜,即狗来玩、打猎、看家护院。 研究人员对来自世界各地的12条狼,以及代表14个不同品种的60只狗进行了全基因组测序。他们通过寻找狗与狼之间显示最大差异的序列,或在犬种中保持一致而在狼中存在差异的序列,搜查了进化标记。最终拿出了一个包含36个区域,总共122个基因的名单。其中一半的区域包含脑基因。其中有6个区域,10个基因与脂肪和淀粉消化相关。具体来说,狗携带了额外拷贝的淀粉酶基因,相比于狼同类。此外,狗生成的麦芽糖酶-葡糖淀粉酶要多12倍,这是因为该酶基因发生了数个突变。第三种基因SGLT1突变提高了肠道糖吸收蛋白质的功能。[1]</p> </body> ------------------------------------------------------------------------
第八章 CSS盒模型
第一节:盒模型基本概念
盒模型:
width / height 指内容区域的宽度和高度
相框边框 - > border
画和相框边框的距离 -> padding
相框之间的距离 -> margin
第二节:边框 (谷歌浏览器看盒模型很好)
border-width 边框宽度(粗细)
border-color 边框颜色
border-style 边框样式
第三节:内边距
用 padding设置内边距
第四节:外边距
用 margin 设置外边距

<style type="text/css"> #outerBox1{ border-width: 2px; border-color: red; border-style:solid; padding: 40px; margin: 10px; } #outerBox2{ border: thick blue dashed; padding-top: 20px; padding-right: 10px; padding-bottom: 5px; padding-left: 2px; margin-top: 20px; margin-right: 10px; margin-bottom: 5px; margin-left: 2px; } #outerBox3{ border-top: thick blue dashed; border-right: 2px red solid; border-bottom: thin yellow dotted; border-left: 2px red solid; padding: 20px 10px 5px 2px; margin: 20px 10px 5px 2px; } </style> </head> <body> <div id="outerBox1">内容1</div> <div id="outerBox2">内容2</div> <div id="outerBox3">内容3</div> </body>
第五节:网页布局与盒模型
1,标准文档流
标准文档流:指在不使用其他与排列和定位相关的特殊 CSS 规则时,各种元素的排列规则;
2,块级元素VS行内元素
块级元素:以一个块的形式展现,跟同级的兄弟块依次竖直排列,左右撑满,比如<div>;
行内元素:以普通的一个 DOM 节点展现,跟同级的兄弟元素横向排列,排满后,自动换行,比如<span>;

<title>块级元素VS行内元素</title> </head> <body> <h1>块级元素</h1> <div>块1</div> <div>块2</div> <div>块3</div> <h1>行内元素</h1> <span>块1</span> <span>块2</span> <span>块3</span> </body>
第六节:盒子在标准流中的定位
1,行内元素之间的水平margin (相加)
marin-right + margin-left
2,块级元素之间的竖直margin
Margin-bottom margin-top 以大的为标准
3,嵌套盒子之间的margin
子块的 margin 将以父块的内容为参考
4,margin属性可以设置成负值

<title>行内元素之间的水平margin</title> </head> <body> <span style="margin-right: 10px;">块1</span> <span style="margin-left: 10px;">块2</span> ----------------------------------------------------------------- <title>块级元素之间的竖直margin</title> </head> <body> <div style="margin-bottom: 10px;">块1</div> <div style="margin-top: 5px;">块2</div> </body> ----------------------------------------------------------------- <title>嵌套盒子之间的margin</title> </head> <body> <div style="margin: 10px;">块1 <div style="margin-top: 20px;">块2</div></div> </body> ----------------------------------------------------------------- <title>margin属性可以设置成负值</title> </head> <body> <span style="margin-right: 10px;">块1</span> <span style="margin-left: -30px;">块2</span> </body> -----------------------------------------------------------------
第九章 盒子的浮动与定位
第一节:盒子浮动float
Float 属性:
默认是 none ,按照标准流来定位;
Left:左悬浮;(脱离文档移动,不占用空间。)
Right:右悬浮;

<title>盒子浮动float right</title> <style type="text/css"> .parent{ padding:5px; background-color: yellow; border: 1px solid red; } .d1{ float:left; margin:5px; background-color: gray; border: 1px solid gray; } .d2{ float:right; margin:5px; background-color: blue; border: 1px solid blue; } p{ margin:5px; background-color: green; border: 1px solid green; } </style> </head> <body> <div class="parent"> <div class="d1">盒子A</div> <div class="d2">盒子B</div> <p>Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。</p> </div> </body>
第二节:使用 clear清除浮动的影响
Clear 属性:
默认是 none,允许两边都可以有浮动对象;
Left: 不允许左边有浮动对象
Right:不允许右边有浮动对象
Both:不允许有浮动对象

<title>使用clear清除浮动的影响 both</title> <style type="text/css"> .parent{ padding:5px; background-color: yellow; border: 1px solid red; } .d1{ float:left; margin:5px; height:100px; background-color: gray; border: 1px solid gray; } .d2{ float:right; margin:5px; height:50px; background-color: blue; border: 1px solid blue; } p{ clear:both; margin:5px; background-color: green; border: 1px solid green; } </style> </head> <body> <div class="parent"> <div class="d1">盒子A</div> <div class="d2">盒子B</div> <p>Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。</p> </div> </body> </html>
第三节:盒子定位position
Position 属性:
默认是 static,按照标准流来定位;(也叫普通流。)
在普通流中定位,页面中的块级元素框从上到下一个接一个地排列,内联元素将在一行中从左到右排列水平布置。
Relative:相对定位,相对于原本的标准位置偏移指定的距离;元素仍然保持其未定位前的形状,它原本所占的空间仍保留。static 值和相对定位(relative值)都是普通流定位。相对定位之所以被看作普通流定位模型的一部分,因为元素的位置是相对于它在普通流中的位置。)
Absolute:绝对定位,以它的包含框为基准进行偏移;(包含框:最近的有position属性的, 例子中.parent没有position属性的时候,div [son]会以body为基准)。
绝对定位的元素的位置相对于最近的已定位祖先元素,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块。绝对定位使元素的位置与文档流无关,因此不占据空间。
Fixed:固定定位,以浏览器窗口为基准进行定位;普通流中完全移除,因此也不占据空间。

<title>盒子定位position absolute</title> <style type="text/css"> .parent{ position:relative; padding:15px; background-color: green; border: 1px solid red; } .son{ position:absolute; left:0px; top:0px; padding:10px; background-color: blue; border: 1px solid gray; } </style> </head> <body> <div class="parent"> <div class="son">儿子</div> </div> </body> </html>
第四节:z-index空间位置
Z-index 空间位置,默认是 0,z-index 值大的页面位于其值小的上方;

<title>z-index空间位置</title> <style type="text/css"> img{ position: fixed; top: 0px; left: 0px; z-index: -1; } </style> </head> <body> <h1>这是一个苹果!</h1> <h1>这是一个苹果!</h1> <h1>这是一个苹果!</h1> <h1>这是一个苹果!</h1> <h1>这是一个苹果!</h1> <h1>这是一个苹果!</h1> <img src="../apple.jpg"/> </body> </html>
第五节:盒子 display属性
Display:
Inline:把元素变成内联元素;
Block:把元素变成块级元素;
none:让生成的元素根本没有框。这样的话,该框及其所有内容就不再显示,不占用文档中的空间。

<title>盒子display属性</title> </head> <body> <div style="display: inline;">d1</div> <div style="display: inline;">d2</div> <div style="display: inline;">d3</div> <span style="display: block;">s1</span> <span style="display: block;">s2</span> <span style="display: block;">s3</span> </body>
补充:
overflow 属性规定如何处理如何处理不符合元素框的内容。

<html> <head> <style type="text/css"> div { background-color:#00FFFF; width:150px; height:150px; overflow: scroll } </style> </head> <body> <p>如果元素中的内容超出了给定的宽度和高度属性,overflow 属性可以确定是否显示滚动条等行为。</p> <div> 这个属性定义溢出元素内容区的内容会如何处理。如果值为 scroll,不论是否需要,用户代理都会提供一种滚动机制。因此,有可能即使元素框中可以放下所有内容也会出现滚动条。默认值是 visible。 </div> </body> </html>