css.day03

css的分类(位置):

css层叠样式表

1.内嵌 样式表

2.行内样式表

3. 外连

css选择器分类

基础选择器

标签

id选择器

类选择器

复合选择器

交集选择器(标签指定式)  span.one

后代选择器                .one  .two

并集选择器 (集体声明)    .one,.two

通配符选择器  *   所有标签

body, h1{font-size:12px;}

<body>

<div></div>

<span></span>

<h1></h1>

</body>

伪类选择器

a:link

a:visited

a:hover

a:active

lv h a

背景:

背景颜色

背景图片 background-image:url(xxx.jpg);

背景平铺          -repeat: no-repeat

背景位置:       -position:

background-position: top  left center 方位名词

background-position:3px 10px;  精确像素

background-position:10px center;  这个背景图片 离横坐标是10像素的距离

fixed

边框:

border-color

border-width

border-style  样式  solid  实线

一个属性里面有多个值 :  复合属性

border:1px solid #f00;

border-top

1.盒子模型(box

盒子模型是我们css+div 的入门门槛 .

盒子模型的重要参数:

border  盒子边框

内部距离 内边距 内补白   padding

外边距                   margin

方位                    top  left  right  bottom

2.margin 复合属性 (参数个数的写法)

这种写法同样适合于 padding

这样要求:

盒子距离上边距是 100px  下 是 200px  左边是0px  右边是20px

 margin-top:100px;
margin-bottom:200px;
margin-left:0;
margin-right:20px;

简写: margin:100px 20px 200px 0;

margin:100px;  (一个参数)

表示 上下左右都是100像素。

margin: 100px  30px; (两个参数)

表示  上下是100  左右是30

margin: 100px 30px 10px; (三个参数)

表示  上是100  左右是30  下是10

margin: 10px 20px 30px 40px;(四个参数)

表示 上是10  右是20  下是30  左是40  (顺时针)

3.关于padding的问题(盒子的实际大小)

padding会影响盒子大小.

盒子实际大小:  盒子本身大小+border+padding

例如: 一个盒子宽度 100  边框 是 10  内边距是20  问这个盒子实际大小是:

盒子=100+10*2+20*2    160 像素

152

100  +40  +12

100  =  padding +border

88   +     5       +    1  =100

最终的大小240 =  盒子本身宽 +border + padding

240= 220  + 2+    12+6

特别注意:

不是所有的padding都会影响盒子的大小。

如果这个盒子没有高和宽就不会影响盒子大小。

4.几个小点

  4.1firebug  的使用    ctrl+shfit+c   测试元素   f12 调出

  4.2稳定性:

  盒子本身的宽和高是最稳定的 (高度剩余法)

  其次是padding 值

  最后margin值。

  所以,我们本着的原则是:能用padding的地方就不要用margin。

  其实,padding 也可以看做是盒子本身的宽度和高度。

  4.3清除浏览器内外边距

  这个是我们写网站css 的第一句话。(必须写)

html, body, ul, li, ol, dl, dd, dt, p, h1, h2, h3, h4, h5, h6, form, fieldset, legend, img { margin:; padding:; } 

  4.4让盒子居中对齐

  margin:0 auto;

  注意: 让盒子内部的文字或者图片居中对齐: text-align:center;

  但是让盒子居中对齐: margin:0  auto;

  margin:auto 也行,最常用的还是margin:0  auto;

  注意:这个盒子应该是块级元素。而且必须有宽。

  4.5代码的书写顺序

    1. 先集体声明清除浏览器样式

    2. 声明body 字体大小  颜色   字体

    3. 声明a 链接样式。

resize:none  不让火狐拖动文本域

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>评论页面</title>
<style type="text/css">
body,div,ul,li,h1,h3,h4,h2,textarea,input,p{margin:0; padding:0;}
body{font-family:Arial, Helvetica, sans-serif; font-size:12px; color:#3c3c3c;}
a{color:#000; text-decoration:none;}
a:hover{color:#F00; text-decoration:underline;}
.box{ width:725px; height:220px; border:1px solid #abc; margin:0 auto; margin-top:100px; padding-left:25px; padding-top:30px;}
.box h3 a{font-weight:normal; color:#F00; text-decoration:underline; margin-left:10px;}
textarea{ width:670px; height:80px; border:1px solid #abc; margin:15px 0; padding:10px; font-size:12px; color:#CCC; resize:none;}
p{margin-top:15px; color:red;}
</style>
</head>
<body>
<div class="box">
<h3>评论 <img src="data:images/110.jpg" /><a href="#">俺要打分</a></h3>
<textarea>请输入您对的意见或者建议!!</textarea>
<input type="image" src="data:images/tj.jpg" />
<p>暂时没有评论</p>
</div>
</body>
</html>

5.<label></label> 标签

  for   id  来使用

<style type="text/css">
*{margin:0; padding:0;}
.box{width:300px; margin:100px auto;}
.search{width:175px; height:20px; border:1px solid #ccc; color:#CCC; background:url(search_03.png) no-repeat 5px center; padding-left:25px;}
label{color:#3c3c3c; font-size:14px;}
</style>
</head>
<body>
<div class="box">
<label for="sear">搜索一下:</label><input type="text" value="请输入搜索内容..." class="search" id="sear" /></div>
</body>
</html>

1.  Background:red;  除了颜色之外没有其他样式

Background-color:red;  只针对于颜色

-image    repeat

Background-position : x   y ;

a:link    a:visited   a:hover   a:active

边框   上下左右  top  right  left  bottom

内边距   padding

外边距   margin

盒子大小:

1. 盒子实体大小: 盒子本身宽和高+padding+border

2. 盒子的最终大小: 盒子本身的宽和高+padding+border+margin

Margin:10px  20px  30px  40px

*{margin:0; padding:0;}

设计网页代码写法:

(1) 清除浏览器样式   *{margin:0; padding:0;}

(2) 页面的整体声明:  body { font-size:12px; c} ul ol

(3)  链接    a{color:blue;} a:hover{color:red;}

1.如果让斜体(em i)   变成正常字体:  font-style:normal;

如果让加粗的字体  变成正常字体 :  font-weight:normal;

em{font-style:normal;}

盒子模型    边框

Textarea  Resize  设置是否可以拖动  火狐默认是可以拖动的    resize:none; 不允许拖动

firefox   火狐浏览器

Firebug   火狐浏览器插件

Fireworks  图像处理软件(ps)

Fw    dw    ps    flash   网页四剑客

Ps  装饰装潢    平面    网页

Fw  创造出来就是为了网页

外边距塌陷的规则

刚开始 人们觉得margin 塌陷是个bug   后来才发现,所有的浏览器都这样。

所以就不算bug

2. 外边距 只会在垂直之间产生塌陷;水平之间不受影响;

3.垂直之间塌陷的原则是以两方最大的外边距为准;50   100

4.只有两个盒子的垂直外边距完全接触才会触发。

一般情况下,垂直两个盒子出现这种情况下,比较少(并列)

出现情况比较多的是,嵌套关系的盒子。急需要我们去解决。

解决方法:

1. 给大盒子指定一个边框。可以解决 ,如果不希望看到边框,可以改成白色。

2. 溢出  overflow:hidden   大盒子加

overflow   溢出

visible| auto| hidden| scroll

Auto   内容如果超出,则显示滚动条  否则  不显示滚动条

Scroll    不管超不超出,则都显示滚动条。

hidden  超出的部分,不显示。

white-space

white-space: nowrap  强制一行内显示直到文本结束或者碰到<br/>

cursor  鼠标

.ani        .cur

cursor:url(mao.ani);  设置鼠标样式

Cursor:pointer; 所有的浏览器都能识别

word-break:break-all;

适合长英文句自动换行。

浮动

3.1.标准流

标准流实际上就是一个网页内标签元素正常排列的顺序的意思;比如块级元素会独占一行,行内元素会按顺序依次前后排列;按照这种大前提的布局排列之下绝对不会出现列外的情况叫做标准流布局;

3.2. 浮动  

Float :left  right

浮动是我们学习的第一种脱离标准流的方式;也就是说它不受文档流的限制,按照另外的一种方式去布局;

记住!学习浮动,浮动有一个主要的作用是可以让多个盒子水平排列,并且他是一种严格的对齐方式!

浮动找浮动, 不浮动找不浮动

一列固定宽度且居中

两列固定宽度且居中

转载请备注。

上一篇:【LeetCode】33. Search in Rotated Sorted Array (4 solutions)


下一篇:你好,C++(35)类是如何藏私房钱的?6.2.4 拷贝构造函数