0
点赞
收藏
分享

微信扫一扫

DAY6 / CSS / 三大特性+盒子模型+PS基础

骑在牛背上看书 2022-02-07 阅读 78

目录

CSS的三大特性

层叠性

继承性

优先级

盒子模型

边框 border

内边距 padding

外边距 margin

PS测量


CSS的三大特性

层叠性

后来居上,相同选择器设置相同样式时,一个样式会覆盖(层叠)另一个样式

就近原则,样式冲突,哪个样式离结构近,就选择哪个样式。

层叠的意思就相当于覆盖。

样式不冲突,不会层叠。

继承性

子标签会继承父标签的某些样式,如文本颜色和字号

可以简化代码,降低CSS样式的复杂性

color、text- 、font-、 line-这些元素开头 和文字相关的可以继承

line-height也能继承,行高可以跟单位px也可以不跟单位,如1.5 即1.5倍

是当前元素文字大小的1.5倍大小

优先级

当同一个元素指定多个选择器,就会有优先级的产生

  • 选择器相同,执行层叠性
  • 选择器不同,则根据选择器权重执行
  • 继承和*(0)<元素选择器(1)<类选择器伪类选择器(10)<ID选择器(100)<行内样式(1000)<!important(正无穷)
  • 继承的权重是0
  • a链接浏览器默认指定了一个样式,蓝色有下划线

        div{ color:pink!important;} 权重最高

        #father { color:red; }

        p { color:pink; }

        #father为p的父元素,p的颜色为pink,因为继承权重为0

权重的叠加

复合选择器会有权重叠加的问题

li的权重 0001

ul li 的权重 0001+0001=0002

.nav li的权重 0010+0001=0011

a:hover的权重0010+0001=0011 

不是二进制,会叠加但永远不会进位,10个标签选择器为 0 0 0 10

盒子模型

BOX MODEL

border 边框

content 内容

padding 内边距

margin 外边距

边框 border

  • border-width 边框粗细
  • border-style 样式 实线或虚线:solid 实线 none 无 dashed虚线 dotted点 double双实线
  • border-color 边框颜色

复合写法:

border: width style color;没有顺序

边框可以分开写:

border-top: ...上边框

border-buttom/left/right

表格的细线边框:边框重叠会变粗

        table,

        td {

                border:.........

        }

border-collapse:collapse;  相邻边框合并

边框会影响盒子的实际大小=盒子大小+边框大小

内边距 padding

padding-left / right / top / buttom

简写

padding: 5px;上下左右都5px

padding: 5px 10px; 上下5 左右10

padding 5px 10px 20px 上5 左右10 下20

padding: 5px 10px 20px 30px; 上5 右10 下20 左30 顺时针 

  • padding也会影响盒子的实际大小=盒子大小+上下左右边距 内容大小不变
  • 要让实际大小和效果图一样 盒子大小需要减去两份边距
  • 如果盒子没有指定宽高,则padding不会撑开盒子
  • 如果孩子没有指定宽高,则和父亲一样,但不是继承性,相当于没有指定宽高,再加padding值,也不会撑开盒子。只有本身指定了宽高 才会撑开
  • 用内边距可以使盒子宽度合理

新浪导航栏案例:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .nav {
            border-top: 3px solid #ff8500;
            border-bottom: 1px solid #edeef0;
            background-color: #fcfcfc;
            height: 41px;
            line-height: 41px;
        }

        .nav a {
            display: inline-block;
            color: #4c4c4c;
            text-decoration: none;
            font-size: 12px;
            padding-left: 1em;
            padding-right: 1em;
        }

        .nav a:hover {
            background-color: #eceeeb;
            color: #ff8500;
        }
    </style>
</head>

<body>
    <div class="nav">
        <a href="#">设为首页</a>
        <a href="#">手机新浪网</a>
        <a href="#">移动客户端</a>
        <a href="#">博客</a>
        <a href="#">微博</a>
        <a href="#">关注我</a>
    </div>

</body>

</html>

外边距 margin

控制盒子和盒子之间的距离

margin-left/right/top/buttom

使用方法和padding基本一致

典型应用:

  • 外边距可以让块级盒子水平居中,但是必须满足两个条件:1.盒子必须指定了宽度2.盒子的左右外边距都设置为auto

        margin-left: auto; margin-right:auto;

        margin: 0 auto; 左右

        margin: auto;上下左右

  • 行内元素或者行内块元素水平居中只要给其父元素添加text-align: center; 即可

外边距合并:

嵌套块元素垂直外边距的塌陷:两个嵌套关系的块元素,父元素和子元素都有外边距此时父元素会塌陷较大的外边距。

  • 为父元素定义上边框 颜色设成transparent
  • 为父元素指定内边距
  • 给父元素添加overflow:hidden; 不会额外增加盒子的大小
  • 浮动、固定、绝对定位的盒子不会有塌陷问题

清除内外边距:

网页元素会默认带有内外边距

通配符选择器清除内外边距

        * {
            margin: 0;
            padding: 0;
        }

行内元素为了照顾兼容性,尽量只设置左右内外边距不要设置上下内外边距,但是转换成块元素和行内块元素就可以。

PS测量

Ctrl+r 标尺 快捷键 右击修改单位

alt+滚轮放大缩小

空格键抓手工具

Ctrl+D取消选区

举报

相关推荐

0 条评论