web前端css(一)

一  css的引入方式:

1)    行内样式:     <p style=”color: green”>我是一个段落</p>

2)    内接样式: 

<style type=”text/css”>

     /*写css代码*/

span{

      color:yellow

}

</style>

3)    外接样式(链接式和导入式)

<link  rel=”stylesheet”  href=”./index.css”>       <!—链接式-->

<style type=”text/css”>                                   <!—导入式-->

      @import url(“./index.css”);

</style>

二 css选择器:

基本选择器

标签选择器: 标签选择器可以选中所有的标签元素, 比如div, ul, li, p等,不管标签藏的多么深都可以被选中. 选中的是所有的,并不是某一个标签, 所以说是”共性”, 不是”特性”.

用法:  标签名:{color:red;}

Id选择器: 同一个页面中的id不能重复, 任何标签都可以设置id, id的命名规范,大小写严格区分, aaa和AAA是两个不一样的属性值

用法:     #id名{color:red;}

类选择器: 类class和id很相似, 任何标签都可以加类, 但是类是可以重复的. 同一个标签可以有多个类, 用空格隔开.

用法:  .类名{color:red;}

总结:

1)    每个类要尽可能小,要有公共的概念,能够让更多的标签使用;

2)    尽可能用class,除非特殊情况可以用id, id一般是用在js中获取元素的

高级选择器:

a, 后代选择器:

使用空格表示后代选择器,  父元素的后代包括(儿子,孙子,重孙子)

用法:  .container p{color:red;}

b, 子代选择器:

使用>表示子代选择器, 比如div>p, 只表示当前div元素中的子(不包含孙子)的p

c, 并集选择器:

多个选择器之间使用逗号隔开, 表示选中页面中的多个标签, 一些共性的元素, 可以使用并集选择器

用法: h3,.content{color:red;}

d, 交集选择器

同时用两种选择器选择一个标签元素, 例如div.active, 表示类名是active又是div标签的元素

属性选择器

属性选择器就是根据标签的属性, 选择当前的标签.

用法: [for]{color:red;} 或者 input[type=”text”]{background:red;}

伪类选择器

伪类选择器一般用在超链接a 标签中, 使用a标签的伪类选择器, 我们一定遵循”爱恨准则” LoVe  HAte

a:link{color:#666;}  /*没有被访问的a标签样式*/

a:visited{color:yellow;}  /*访问之后a标签的样式*/

a:hover{color:green;}    /*鼠标悬停时a标签的样式*/

a:active{color:#yellowgreen;} /*鼠标按下时a标签的样式*/

注意: link,visited,active这三个只有a标签有, hover其他元素也可以用

伪元素选择器:

/*设置第一个首字母的样式*/

p:first-letter:{color:red; font-size:30;}

/*在…..之前添加内容, 这个属性用的不多,了解即可. 使用这个伪元素选择器就结合content属性*/

p:before{content:”alex”}

/*在….之后添加内容, 使用非常多,与之后的清楚浮动有关*/

P:after{content:”&”; color:red; font-size:40px;}

三  css的继承性和层叠性

继承性

继承:给父级设置一些属性,子元素继承了父级的该属性,这就是我们的css中的继承。

记住:有一些属性是可以继承下来:color 、font-*、text-*、line-* ,主要是文本级的标签元素。

但是像一些盒子元素属性,定位的元素(浮动,绝对定位,固定定位)不能继承。

层叠性:

权重大的标签覆盖掉权重小的标签

总结:

a)    先看标签元素有没有被选中, 如果被选中了, 就数数(id,class,标签的数量)谁的权重大, 就显示谁的属性, 权重一样大的, 后来者居上

b)   如果没有被选中的标签元素, 权重是0

c)    如果属性的被继续下来的, 权重是0. 权重都是0:”就近原则”(谁描述的近,就显示谁的属性)

四  盒子模型

盒子模型有两种: 标准模型, 和IE模型. 我们重点说标准模型

  1. 盒模型示意图

 

盒模型属性

width:内容的宽度

height:内容的高度

padding:内边距,边框到内容的距离(父子之间的距离)

border:边框, 就是指盒子的宽度

margin:外边距, 盒子边框到其他盒子的距离(兄弟之间的距离)

盒模型计算

如果一个盒子设置了width, height, padding, border, margin(先不设置,有坑)

盒子真实宽度 = width+2*padding+2*border

盒子真实高度 = height + 2*padding + 2*border

注意:标准盒模型的width 不等译盒子真是的宽度

另外如果要保持盒子真实的宽度, 加padding 就要减width, 减padding就要加width.

Padding(内边距)

Padding是内边距, 是边框到内容之间的距离.

另外padding的区域是有背景颜色的, 并且背景颜色和内容颜色是一样的. 也就是说background-color填充所有的border以内的区域.

Padding有四个方向:

Padding-top: 30px;

Padding-bottom:40px;

Padding-left:30px;

Padding-right:40px;

/* 上 右 下 左*/

Padding: 20px 30px 40px 50px;

/*上 左右 下*/

Padding:20px 30px 40px;

/*上下  左右*/

Padding:20px  30px

/*上下左右*/

Padding:20px

border(边框)

盒子边框的三要素: 粗细,样式, 颜色.

分别设置三要素:

border-width:3px;

border-style:solid;(dotted, double, dashed)

border-color:red;

设置三要素同时设定:

border: 10px solid red;

注意:border:none; 或者 border:0; 都表示border没有设置样式

margin 外边距

表示边框到最近盒子的距离.也有四个方向,并且可以设置4个值

/*表示4个方向的外边距离是20px*/

margin:20px

/*表示盒子向下移动了30px*/

margin-top:30px;

 /*表示盒子向右移动了30px*/

margin-left:30px;

五  清除默认样式

有一些标签会默认自带样式,比如ul标签默认有padding-left值,有些默认有margin值,ul、ol和a标签也自带一些样式,但是我们一般在做网页的时候不想用那些自带的样式,所以需要清除页面标签中默认的样式,以便我们更好的去调整元素的位置.

*{

padding:0;

margin:0;

}

ul{

list-style:none;

}

a{

text-decoration:none;

}

input{

border:0;

  • outline:0;

}

猜你喜欢

转载自www.cnblogs.com/kenD/p/9695802.html