CSS学习03

  • CSS定位
    • 定位方式:要与定位属性配合使用。
      • position:元素定位方式,取值:statics、fixed、relative、absolute
        • statice:静态定位(默认状态、不定位)
        • fixed:固定定位
        • relative:相对定位
        • absolute:绝对定位
      • 定位坐标:指定定位的元素,偏移目标元素多远的距离。
        • left:定位元素,距离目标元素左边的距离。
        • top:定位元素,距离目标元素上边的距离。
        • right:定位元素,距离目标元素右边的距离。
        • bottom:定位元素,距离目标元素下边的距离。
    • 固定定位,position:fixed;
      • 固定定位,是相对于浏览器窗口来进行的定位。
      • 固定定位,不占空间,层级要高于普通元素。它不会随着网页的滚动而滚动。
      • 固定定位,如果不指定定位坐标的话,固定定位元素的位置在原地不动
      • 固定定位元素,一定是“块元素”,不管原来它是什么元素。
    • 相对定位,position:relative;
      • 相对定位,是相对于“原来的自己”进行定位。
      • 相对定位,依然占据空间,层级高于普通元素。
      • 相对定位,如果不指定定位坐标的话,相对定位元素的位置在原地不动
      • 相对定位,原来是行内元素,定位后依然是行内元素;原来是块元素,定位后还是块元素。

    • 提示:相对定位和绝对定位,一般情况下是配合使用。
    • 绝对定位,position:absolute;
      • 相对于祖先定位元素(相对定位或绝对定位),来进行的定位。
        • 如果它的父元素没有进行任何定位的话,再往上找定位元素。
        • 如果一直找到<body>都没有找到定位元素的话,那就相对于<body>来进行定位。
      • 绝对定位元素,不占空间,层级要高于普通元素。
      • 绝对定位,如果不指定定位坐标的话,绝对定位元素的位置在原地不动
      • 绝对定位元素,是一个“块元素”,不管原来它是什么元素。
      • 例如:
      • <pre name="code" class="css">.news {
            width: 600px; 
            border: 1px solid #444; 
            margin: 20px auto; 
            padding: 20px;
            position: relative;
          }
        .news .div1{
            width: 100px;
            height: 100px; 
            background: red;
            position: absolute ;  /*相对定位*/ 
            right: 50px; 
            bottom:50px;
          }

         
              

    • 如何调整层叠顺序:z-index: 100;  /*堆叠顺序,值越大越靠前排*/
  • HTML引入CSS的方式 
    • 嵌入式
      • 通过<style>标记,来引入CSS样式。
      • 语法格式:<style type="text/css"></style>
      • 提示:<style>中的CSS样式,只能给当前网页使用。
        • 同一个网页中,<style>标记可以多次出现。
    • 外联式
      • 通过<link>标记,来引入一个外部的CSS文件(.css),这样的话,可以实现公共的CSS代码被多个网页共享。
      • <linke rel="stylesheet" type="text/css" href="css/public.css">

      • 常用属性:
        • rel:也就是引入的是什么类型的文件,取值:stylesheet.
        • type:内容类型。
        • href:引入的CSS文件地址。
      • 提示:
        • <link>标记放在<head>标记中。
        • 同一个网页,可以使用多个<link>来链入多个外部样式文件。
      • <link href="css/my.css" rel="stylesheet" type="text/css" /><!--HTML文件引入CSS样式表格式-->
        <pre name="code" class="css">body {
            font-size: 14px; 
            color: #444; 
            font-family: 黑体; 
            background: yellow; 
          } /*my.css文件内容*/
        
         在CSS文件中,不能出现HTML标记。全部都是CSS的属性样式。

      • 行内样式
        • 每一个HTML标记,都有一些公共的属性:class、id、title、style。
        • HTML标记中的style属性的值,与CSS中样式一模一样。
        • 提示:
          • 行内样式中,CSS代码不能写的太多;
          • 行内样式中,多个CSS属性不能换行,也就是一行写完。
          • 经常用于Javascript中。
      • 优先级:
        • 行内样式>嵌入式>外链式

  • CSS表格属性
    • border-collapse:表格边框线合并,取值:collapse。
    • 例如:
    • <table width="500" border="1" align="left" style="border-collapse:collapse">
         <tr>
          <td> </td>
          <td> </td>
          <td> </td>
         </tr>

  • 盒子模型
    • 我们可以把每一个HTML标记,都看成是一个“盒子”。
    • 这个“盒子”有哪些特征:内容的height或width、border、padding、margin
    • 上下左右都有的计算方式:
      • “盒子”的总宽度:内容的宽度+边框宽度*2+内填充*2(左右)+外边距*2(左右)

    • 上下外边距合并问题——这是一种现象
      • 什么情况下?上下外边距会合并呢?
        • 上下两个块元素,如果每一个元素都制定了四个外边距,那么上下相邻的那个外边距会发生合并的现象,合并后取其中较大的外边距。
        • 举例:
        • <pre name="code" class="css"><style type="text/css">
          .body {
              margin: 0; 
              padding: 0;
            }
          .div1 { 
              width: 200px; 
              height: 200px; 
              background-color: red; 
              margin: 50px;
            }
          .div2 {  
              width: 200px; 
              height: 200px; 
              background-color: blue; 
              margin: 50px;
            }
          </style>
          <body>
              <div class="div1"></div>
              <div class="div2"></div>
          </body>
           

        • 如果要实现上下两个<div>之间的距离为100px,该如何实现呢?
          • 上下两个<div>其中一个只指定margin-bottom:100px;而另一个<div>的margin-top:0px;
          • 可以在上下两个<div>中间,添加一个空的<div>,并给空<div>指定高度为100px,也可以实现

  • 行内元素没有宽高属性!!行内元素没有宽高属性!!行内元素没有宽高属性!!行内元素没有宽高属性!!
  • 同一个class属性,可以指定多个类名样式,多个类样式之间用空格隔开。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值