CSS学习笔记DAY4

目录

18 css伪类选择器

  :visited

  :hover

  :active

19 background背景的使用

         背景图片

         背景图片重复模式

         背景模式

         背景位置

                  方向单词

                  像素值

                  百分比

         背景大小

        属性连写

20 行高的使用

21 标签的嵌套规则

22 盒子模型之border边框

23 盒模型之内边距

分为四个方式

属性连写

24 padding会撑大盒子的问题

25 跟随父元素的宽度设置左右padding不会撑大盒子

26 padding撑大盒子的问题的解决方式

27 margin外边距

margin连写

margin的特殊值

28 margin之边框合并

29 margin之边框塌陷

30 行内元素上下margin不生效


18 css伪类选择器

       普通链接状态(主要针对a标签)

<style>
        #aaa:link{
            color:red;
            /* 取消文本的下划线 */
            text-decoration: none;
            font-weight: 900;
            
        }
</style>

  :visited

      链接访问过后的状态(主要针对a标签)

<style>
        #aaa:visited{
            color: orange;
        }
</style>

  :hover

      鼠标悬停状态

<style>
       #aaa:hover{
            font-size: 60px;
            color: aqua;
            /* 改变鼠标样式 */
            cursor: move;

        }
</style>

  :active

      鼠标按住状态

<style>
        #aaa:active{
            font-size: 120px;
            color: blue;
         }
</style>

  :focus针对表单元素  获取焦点时的状态(针对普通的文本输入框)

<style>
        input:focus{
            width: 400px;
            height: 400px;
            background-color: red;
        }
</style>
######################################################
     <input type="text">
     <p>
        <input type="radio" name="gender" value="m">男
        <input type="radio" name="gender" value="f">女
     </p>

19 background背景的使用

background 背景的设置:

         background-color 背景颜色

         背景图片

                  background-image:url(图片地址)

                  图片默认按原图大小平铺

         背景图片重复模式

              background-repeat:

                   repeat(默认值 横向纵向都重复)

                   no-repeat(不重复)

                   Repeat-x(横向重复)

                   Repeat-y(纵向重复)

         背景模式

             background-attachment:scroll(默认)|fixed

             fixed  背景图片固定 不会随着页面的滚动而滚动

         背景位置

             background-position

                  针对不重复的背景图片 所放的位置

                  方向单词

                       横向:left center right

                       纵向:top center bottom

                  像素值

                       距离左边的px 距离上面的px

                  百分比

                       距离左边的百分比 距离上面的百分比

                       只写一边 另一边默认center

                       位置是整数 则往右下角位移

                       如果是负数 往左上角位移

         背景大小

              background-size

        属性连写

              background:color image repeat attachment position/size

20 行高的使用

设置文字水平方向的排列方式
          text-align=center;

css的行高=文字的上边距+文字的高度+文字的下边距

如果 一个元素内部只有一行文字 那么line-height设置为当前元素高度 单行文本垂直居中对齐

21 标签的嵌套规则

块级标签可以嵌套一切其他标签

行内和行内块 互相之间可以嵌套 但是不能嵌套块级

注意点:

p标签块级元素 但是不能嵌套其他块级 一旦嵌套会出现问题

会出现两对p标签 然后块级元素在p标签之外

22 盒子模型之border边框

border设置盒子的边框属性:

边框分为四个方向:

     top right bottom left

border属性其他写法

border-top设置上边框样式
border-bottom设置下边框样式
border-left设置左边框样式
border-right设置右边框样式

边框分为三个属性:

     边框颜色 边框样式 边框宽度

border-top-color:上边框颜色

border-top-style:上边框样式 solid dotted dashed double

border-top-width:px值 上边框宽度

四个方向连写:

      border:width style color;表示四个方向统一设置

三个属性连写:

      border-方向:width style color

23 盒模型之内边距

padding内边距:

当前盒子内的内容到盒子边的距离

分为四个方式

    padding-left

    padding-right

    padding-top

    padding-bottom

属性连写

    padding:四个值

            上 右 下 左

    padding:三个值

            上 左右 下

    padding:两个值

            上下 左右

    padding:一个值

            上下左右

24 padding会撑大盒子的问题

padding会撑大盒子

盒子最终的宽度=盒子自身设置的宽度+左右padding+左右border

盒子最终的高度=盒子自身设置的高度+上下padding+上下border

25 跟随父元素的宽度设置左右padding不会撑大盒子

块级元素不设置宽度时 占满父容器

没有设置宽度的时候 设置左右padding不会撑大当前的盒子

除非设置的左右padding加起来超过了父容器的宽度

<style>
        #parent{
            width: 500px;
            height: 400px;
            background-color: red;
        }
        #son{
            /* width: 500px; */
            height: 200px;
            background-color: blue;
            color:#fff;
            padding:0 400px
        }
</style>
############################################
<div id="parent">
        <div id="son">我是div标签</div>
</div>

26 padding撑大盒子的问题的解决方式

谷歌盒子模型

     盒子最终的宽高=盒子自身的宽高+padding+border

IE盒子模型

     盒子最终的宽高=盒子设置的宽高 padding border系统会自动减去

box-sizing:content-box(谷歌盒子模型) border-box(IE盒子模型)    

27 margin外边距

margin外边距:

         分为四个方向:

                    margin-left 左外边距

                    margin-right右外边距

                    margin-top上外边距

                    margin-bottom下外边距

margin连写

         margin: 四个值

             上 右  下  左

         margin: 三个值

             上  左右  下      

         margin: 两个值

             上下  左右

         margin: 单个值

            上下左右

margin的特殊值

    auto 表示外边距自适应  把剩余空间分配给当前外边距的方向

    auto针对上下外边距不生效

margin:0 auto; 块级元素 横向居中*非常常用*

<style>
        #box{
            width: 200px;
            height: 200px;
            background-color: red;
            /* margin-left: 100px;
            margin-top: 100px; */
            /* margin: 10px 20px 30px 40px; */
            /* margin:0 auto; */
        }
</style>
###################################################
<div id="box"></div>

28 margin之边框合并

<style>
        div{
            width: 200px;
            height: 200px;
            border:1px solid #000
        }
        #box{
            background-color: red;
            /* margin-bottom: -1px; */
           
        }
        #pox{
            background-color: #0f0;
            margin-top: -1px;
        }
        span{
            display: inline-block;
            width: 200px;
            height: 200px;
            border:1px solid #000
        }
        .pox{
            /* margin-left: -6px; */
            margin-left: -1px;
        }
</style>
################################################
<span class="box"></span><span class="pox"></span>

29 margin之边框塌陷

子元素设置margin-top的时候会带着父元素一起下沉

  解决方式:

       1 给父元素添加透明的上边框

       2 块级格式化上下文(BFC)  清除一些异常的现象

                overflow:hidden

<style>
        #parent{
            width: 700px;
            height: 400px;
            background-color: blue;
            margin: 0 auto;
            /* padding-top: 100px; */
            /* border-top: 1px solid transparent; */
            overflow: hidden;
        }
        #son{
            width: 300px;
            height: 300px;
            background-color: orange;
            margin-top: 50px;
        }
</style>
######################################################
<div id="parent">
        <div id="son"></div>
</div>

30 行内元素上下margin不生效

<style>
        span{
            /* margin-top: 200px; */
            /* margin-bottom: 3000px; */
            padding: 5px 50px;
        }
        .sp1{
            background-color: red;
        }
        .sp2{
            background-color: blue;
        }
        #box{
            width: 200px;
            height: 200px;
            background-color: green;
        }
</style>
###########################################
    <span class="sp1">我是第一个行内</span><br>
    <span class="sp2">我是第二个行内</span>
    <div id="box"></div>
    <!-- span[class='sp$']{我是第$个行内}*2 -->

  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值