css重要知识点总结(1)

css重要知识点总结(1)

一、*{margin:0;padding:0;}

       body ,ul, li,p,h1~h6,dd,dt 等……都有默认的margin 或padding值的,加上这句就可以删除浏览器这些默认值,方面后面的设置。(注:不是没它不行,只是方便而已)

      比如我们自己写网站,规模小,标签内容少,那么* {}就可以重置一些基本样式,就不需要为那么多的标签分别重置样式。

      新浪等一些大站,内容多,多每个标签要求也很高。那么他们就要把每个标签的默认属性都调为一样。除了用* {}还要对标签分别设置。

二、line-height

line-height:单行文本所占高度

height:容器所占高度

font-size:设置文本高度

实现单行文本在容器中垂直居中:height=line-height;

 

<div>
    新浪新闻新浪新闻新浪新闻新浪新闻
</div>
div{
           border:1px solid black;
           height: 200px;
           line-height: 200px;/*height=line-height 垂直居中*/
           text-align: center;/*水平居中*/
           font-size:16px;
       }


效果:

 

三、选择器权重

 

选择器权重
!importantinfinity
内联样式1000
id100
class|属性|伪类10
标签|伪元素1
通配符0

 

 

 

 

 

 

 

 

 

 

 

优先选择权重大的选择器;权重相等选择后一个选择器

计算选择器权重;

如 #id p{}   权重为:100+1=101

特殊:infinity+1>infinity

 

<div class="main" >
</div><!--class权重高,所以样式呈现的是.main的样式-->

 

*
    {
        padding: 0;
        margin: 0;
    }

    div{
        width: 100px;
        height:100px;
        border: 10px dotted green;
    }
    .main{
         width: 100px;
         height: 100px;
         border: 10px solid red;
     }


效果:

 

四、颜色代码

 

00-ff代表饱和度

transparent   透明色(底部颜色)

 

 

五、用border画三角形

<div>
</div>

 

*
    {
        padding: 0;
        margin: 0;
    }

    div{
        width: 0px;
        height:0px;//使上下左右边框为填充的三角形
        border: 100px solid black;
        border-bottom-color:red ;
        border-left-color: transparent;
        border-right-color: transparent;
        border-top-color: transparent;//只剩下底部边框为红色,其他边框都为透明色
    }


效果:

 

六、行级元素、块级元素、行级块元素

 

HTML标签基本分为三类:

 

1.行级元素/内联元素(inline)

特点:内容决定元素所占位置;不可以通过css改变宽高

代表:span   strong     em    a    del

 

2.块级元素(block)

特点:独占一行;可以通过css改变宽高

代表: div  p  ul   li   ol  form   address

 

3.行级块元素(inline-block)

特点:内容决定宽高,可以改宽高

代表:img

 

4、但很重要的一点:可以通过display来改变

如:span{display:block},此处span会变成块级元素

 

5、一个小问题:

 

<div>
    <img src="timg.jpg">
    <img src="timg.jpg">
    <img src="timg.jpg">
    <img src="timg.jpg"><!--四张相同照片-->
</div>

 

*
    {
        padding: 0;
        margin: 0;
    }
img{
        width: 100px;
        height:120px;
    }//设置的照片长宽


效果:

为什么照片中间会有间隙?

因为凡是带有Inline或inline-block的元素,都有文字特性(如编辑器中空格分隔文字,该空格在浏览器中占4px)

解决方法:去掉文字分隔符即在编辑器中标签之间不留空格,空格被认为是文字分隔符

<div>
    <img src="timg.jpg"><img src="timg.jpg"><img src="timg.jpg"><img src="timg.jpg">
</div>


css不变

 

效果:

注意:不可以用margin-left:-4px,因为文件打包时会合起来进行压缩,即去空格,去回车,那么图片会嵌进去

 

可能会变成如图所示情况:

 

七、写项目时要注意可读性

 

<div class="red size2"></div>
<div class="green size1"></div>

 

*
    {
        padding: 0;
        margin: 0;
    }//也由于权重为零,方便对元素的修改
    .red{
        background-color: red;
    }
    .green{
        background-color: green;
    }
    .size1{
        width: 100px;
        height:100px;
    }
    .size2{
        width:200px;
        height:200px;
    }

 

先定义功能,后在HTML中选样式,那么样式可以给很多标签使用。

比如可以专门写一个css文件用于导航栏

 

八、定位

 

1、position:absolute     脱离原来位置,则原来位置空了

相对于最近的有定位的父级进行定位,如果没有相对于文档html进行定位

(1)

<div class="wrapper">
    <div class="content"></div>
    <div class="content1"></div>
</div>

 

*
    {
        padding: 0;
        margin: 0;//body的margin默认为8px
    }
    .content{
        width: 100px;
        height:100px;
        background-color: red;
        opacity: 0.5;
        position: absolute;
    }
    .content1{
        width: 200px;
        height: 200px;
        background-color: green;
    }


效果:

可以看到原来content所占位置被content1占了,content父级元素没有定位,相对于文档进行定位

 

(2)

<div class="wrapper">
    <div class="content">
        <div class="content1"></div>
    </div>
</div>

 

*
    {
        padding: 0;
        margin: 0;
    }
    .wrapper{
        width: 200px;
        height: 200px;
        background-color: orange;
        margin-left: 100px;
    }
    .content{
        width: 100px;
        height: 100px;
        background-color: green;
        margin-left: 100px;
    }
    .content1{
        width: 50px;
        height:50px;
        background-color: red;
    }


效果:

 

修改css:

*
    {
        padding: 0;
        margin: 0;
    }
    .wrapper{
        position: relative;//将大盒子改为相对定位
        width: 200px;
        height: 200px;
        background-color: orange;
        margin-left: 100px;
    }
    .content{
        width: 100px;
        height: 100px;
        background-color: green;
        margin-left: 100px;
    }
    .content1{
        width: 50px;
        height:50px;
        background-color: red;
        position: absolute;//将小盒子改为绝对定位
        left: 50px;//且向右偏移50px
    }


效果

发现content1是相对于wrapper定位的

2、position:relative   保留原来位置进行定位

相对于自己原来的位置进行定位

position:fixed  相对于窗口可视区

3、很重要一点

在进行元素定位时可以:relative作为参照物(对后续元素没有影响)    absolute定位

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值