Web(html+css)学习②

目录

一.长度单位

1.像素和百分比

Web(html+css)学习②

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
   <title>First</title>
    <style>
      div
      {
          width: 200px;
          height: 200px;
          background-color: blue;
         
       }
       .red{
           width: 25%;
           height: 25%;
           background-color: red;
       }
   
    </style>
</head>
<body>
    <div>
        <div class="red"></div>
    </div>
</body>
</html>

Web(html+css)学习②

2.em与rem

Web(html+css)学习②
rem是根据html文字大小

二.颜色单位

1.RGB

Web(html+css)学习②

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
   <title>First</title>
    <style>
      .blue
      {
         
          width:100px;
            height: 100px;
         background-color: rgb(125, 125, 200);
         
       }
    .red{
        
        width:100px;
         height: 100px;
         background-color: rgba(23, 77, 200,.5);
    }

   
    </style>
</head>
<body>
    <div class="blue">
       
    </div>
    <p class="red">

    </p>
</body>
</html>

Web(html+css)学习②

2.HSL(了解)

Web(html+css)学习②

三.文档流(normal flow)

Web(html+css)学习②

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
   <title>First</title>
    <style>
       .t{
           width: 25px;
           background-color: royalblue;
       }
       .s{
           background-color: salmon;
       }

    </style>
</head>
<body>
   <div class="t">first</div>
   <div  class="t">first</div>
    <span class="s">second</span>    <span class="s">second</span>    <span class="s">second</span>
</body>
</html>

Web(html+css)学习②

四.盒子模型(importance)

1.初识

Web(html+css)学习②

Web(html+css)学习②
平时直接设定的都是内容区
Web(html+css)学习②

2.边框

Web(html+css)学习②Web(html+css)学习②Web(html+css)学习②

当你指定一个border的时候
		 border-width: 111px;
          border-color: salmon;
          border-style: double;
  这样有点麻烦  可以直接
  border:111px salmon double
  这个没有顺序要求

Web(html+css)学习②

3.内边框

Web(html+css)学习②

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
   <title>First</title>
    <style>
       .t{
          width: 200px;
          height: 200px;
          background-color: seagreen;
          border: 10px orange solid;
          /*padding: 12px ;*/
       }
       .q{
           width: 100%;
           height: 100%;
           background-color: orange;
       }

    </style>
</head>
<body>
   <div class="t">
       <div class="q"></div>
   </div>
    
</body>
</html>

Web(html+css)学习②Web(html+css)学习②

4.外边距

可以为负值哦
Web(html+css)学习②Web(html+css)学习②Web(html+css)学习②

5.水平方向的布局

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
   <title>First</title>
    <style>
      .outer{
          width: 800px;
          height: 200px;
          border: solid red 10px;
      }
      .inner{
          width: 200px;
          height: 200px;
          background-color: #bfa;
      }
    </style>
</head>
<body>
 
    <div class="outer">
        <div class="inner"></div>
    </div>
</body>
</html>

Web(html+css)学习②

 <div class="outer">
        <div class="inner"> </div>
        hello
    </div>

Web(html+css)学习②
这说明子类占用了一整个
Web(html+css)学习②
Web(html+css)学习②
Web(html+css)学习②
Web(html+css)学习②

在子元素在父元素水平居中的方法就是

width为固定值
margin:0 auto;

6.垂直方向的布局

Web(html+css)学习②

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
   <title>First</title>
    <style>
      .outer{
         background-color: rosybrown;
      }
      .inner{
          width: 100px;
          height: 100px;
          background-color: #bfa;
         
      }
    </style>
</head>
<body>
 
    <div class="outer">
        <div class="inner"> </div>
      
    </div>
</body>
</html>

Web(html+css)学习②
父元素高度不写 就被子元素撑开 他们就一样

下面:

子元素是在父元素的内容区中排列的,如果子元素的大小超过了父元素,就溢出,撑开了

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
   <title>First</title>
    <style>
    .box1{
        width: 200px;
        height:200px;
        background-color: #bfa;
    }
    .box2{
        width: 100px;
        height:400px;
        background-color: royalblue;
    }
    </style>
</head>
<body>
 
    <div class="box1">
        <div class="box2"> </div>
      
    </div>
</body>
</html>

Web(html+css)学习②
处理

 overflow: hidden;
 可见是:visible

这样会导致这个状况,会把一个完整的文字
Web(html+css)学习②
还有一种方式:scroll
生成滚动条的形式

Web(html+css)学习②
但是它虽然不用下面的滚动条,他也会生成,所以有一个更好的auto

overflow: auto;

Web(html+css)学习②

7.外边距的折叠

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
   <title>First</title>
    <style>
        .box1,.box2{
            width: 200px;
            height:200px;
            font-size: 100px;
        }
    .box1{
        
        background-color: #bfa;
        margin-bottom: 100px;
  
    }
    .box2{
      
        background-color: royalblue;
        margin-bottom: 100px;
    }
    </style>
</head>
<body>
 
    <div class="box1"> </div>
    <div class="box2"> </div>
</body>
</html>

外边距设置了两个 但是结果只是显示了一个!
Web(html+css)学习②
这个问题叫垂直外边距的重叠

兄弟元素的

Web(html+css)学习②

父子元素

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
   <title>First</title>
    <style>
       
    .box1{
         width: 200px;
            height:200px;
        background-color: #bfa;
        margin-bottom: 100px;
  
    }
    .box2{
        width: 100px;
            height:100px;
        background-color: royalblue;
        margin-bottom: 100px;
    }
    </style>
</head>
<body>
 
    <div class="box1"> 
        <div class="box2"> </div>
    </div>
   
</body>
</html>

子元素加了一个

  margin-top: 100px;

Web(html+css)学习②
把父元素也下移了
父子元素间相邻外边距,子元素的会传递给父元素(上外边距)父子外边距的折叠会影响到页面的布局,必须要进行处理(以后再说)

上一篇:[CSS]做一个加载动画效果的页面


下一篇:盒模型——Five