[js]01css基础

  • 选择器
  • 冲突权重计算
  • 盒模型

css选择器

基础选择器


1,标签选择器

a{
    /*去掉下划线:*/
    text-decoration: none; 
}

2,类

.teshu{
    color: red;
}


<h3>我是一个h3啊</h3>
<h3 class="teshu">我是一个h3啊</h3>
<h3>我是一个h3啊</h3>
<p>我是一个段落啊</p>
<p class="teshu">我是一个段落啊</p>
<p class="teshu">我是一个段落啊</p>
<h3 class="teshu  zhongyao">我是一个h3啊</h3>

公共类: 便于使用

<style type="text/css">
    .lv{
        color:green;
    }
    .da{
        font-size: 60px;
    }
    .xian{
        text-decoration: underline;
    }
</style>

3,id选择器

#lj1{
    font-size: 60px;
    font-weight: bold;
    color:black;
}

注:
特点:

  • id区分大小写,且以字母开头
  • id不能重复

使用:

  • 尽可能的用class,除非极特殊的情况可以用id。
  • 原因:
    • 1,js要通过id属性得到标签;
    • 2,我们会认为一个有id的元素,有动态效果;

高级选择器


1,后代选择器
- 后台不一定是儿子,所有.div1“中的”p,就是后代p.
- div下所有的p

<style type="text/css">
    .div1 p{
        color:red;
    }
</style>

.div1 .li2 p{
    color:red;
}

后台:描述的是一种祖先结构

2,交集选择器

h3.special{
    color:red;3 }

条件:选择的元素是同时满足两个条件:必须是h3标签,然后必须是special标签。

有没有空格
div.red{}div .red{}
不是一个意思。

3,并集选择器
同时选2个元素,如tag.

h1,li,p{  

}


<head>
    <meta charset="UTF-8">
    <title>bingji</title>
    <style>
        p,a{
            color: yellow;
        }
    </style>
</head>
<body>
    <p>a p</p>
    <a href="">a link</a>
</body>

4.通配符选择器

*{
    color:red;3 }

特点: 效率不高一般不用.

小结:

● 字体加粗,倾斜,下划线:

font-weight:bold;
font-style:italic;
text-decoration:underline;

● 背景颜色、前景色:

background-color:red;
color:red;

● class和id的区别
class用于css的,id用于js的。
1)class页面上可以重复。id页面上唯一,不能重复。
2)一个标签可以有多个class,用空格隔开。但是id只能有id。

● 选择器
说IE6层面兼容的: 标签选择器、id选择器、类选择器、后代、交集选择器、并集选择器、通配符。

p
#box
.spec
div p
div.spec
div,p7  *

权重问题

按照公式规则计算

1) 继承性。有一些属性给祖先元素,所有的后代元素都集成上了。
哪些属性能继承:color、font-、text-、line-
2) 层叠性。层叠性是一种能力,就是处理冲突的能力。当不同选择器,对一个标签的同一个样式,有不同的值,听谁的?这就是冲突。css有着严格的处理冲突的机制:
■ 选择上了,数权重,(id的数量,类的数量,标签的数量)。如果权重一样,谁写在后面听谁的。
■ 没有选择上,通过继承影响的,就近原则,谁描述的近听谁的。如果描述的一样近,比如选择器权重,如果权重再一样重,谁写在后面听谁的。

案例1:

案例2:

案例3:

案例4:

谁写后面谁优先

!important标记

来给一个属性提高权重。这个属性的权重就是无穷大。

font-size:60px !important;

权重小结

css盒模型

理解真实占有的宽度:

.box1{
    width: 100px;
    height: 100px;
    padding: 100px;
    border: 1px solid red;
}

.box2{
    width: 250px;
    height: 250px;
    padding: 25px;
    border:1px solid red;
}

padding特点

  • 有背景色
    padding就是内边距。padding的区域有背景颜色
  • 四个方向 上右下左
padding-top: 30px;
padding-right: 20px;
padding-bottom: 40px;
padding-left: 100px;

padding:30px 20px 40px 100px;
  • 一些元素,默认带有padding,比如ul标签。

所以,我们为了做站的时候,便于控制,总是喜欢清除这个默认的padding:

*{
    margin: 0;
    padding: 0;
}

*的效率不高,所以我们使用并集选择器,罗列所有的标签(不用背,有专业的清除默认样式的样式表,今后再说):

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{
 margin:0;
 padding:04 }

boder

border是一个大综合属性,
1 border:1px solid red;
原来一个border是由三个小属性综合而成:
border-width border-style border-color。

就是把4个边框,都设置为1px宽度、线型实线、red颜色。
border属性能够被拆开,有两大种拆开的方式:
1) 按3要素:

border-widthborder-styleborder-color

2) 按方向:

border-topborder-rightborder-bottomborder-left

案例:

工作中写法:

标准文档流

1,空白折叠现象
比如,如果我们想让img标签之间没有空隙,必须紧密连接:

<img src="images/0.jpg" /><img src="images/1.jpg" /><img src="images/2.jpg" />

2,低端对齐现象

3,自动换行,一行写满,另启一行

标准文档流等级森严。标签分为两种等级:
1) 块级元素
● 霸占一行,不能与其他任何元素并列
● 能接受宽、高
● 如果不设置宽度,那么宽度将默认变为父亲的100%。

2) 行内元素
● 与其他行内元素并排
● 不能设置宽、高。默认的宽度,就是文字的宽度。

互相转换:

span{
    display: block;
    width: 200px;
    height: 200px;
    background-color: pink;
}


div{
    display: inline;
    background-color: pink;
    width: 500px;
    height: 500px;
}

浮动特点:

0,浮动脱离标准文档流
1,浮动元素相互贴靠
2,浮动有字围效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值