• 盒模型布局相关-基础与语法


    HTML标签的类型

    ①块级标签

    独占一行的标签,能随时设置宽度和高度(比如div、p、h1、ul、li)

    ②行内标签

    多个行内标签能同时显示在一行宽度和高度取决于内容的尺寸。(设置高度无效)

    ③行内块级标签

    多个行内-块级标签可以显示在同一行,能随时设置宽度和高度(比如input、button)

    案例:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>常见的标签类型</title>
        <style>
            div{
                background-color: red;
                width: 150px;
                /*块级-->行内 块级标签*/
                display: inline-block;
            }
            p{
                background-color: yellow;
                display: inline;
            }
            span{
                background-color: blueviolet;
    
                height: 90px;
                /*变成独占一行 行内-->块级标签*/
                display: block;
            }
            button{
                width: 200px;
                height: 80px;
            }
    
        </style>
    </head>
    <body>
        <!--块级标签-->
        <div>我是div</div>
        <p>段落标签</p>
        <!--行内标签-->
        <span>我是行内标签</span>
        <span>我是行内标签</span>
        <span>我是行内标签</span>
        <a href="#">我是超链接</a>
        <a href="#">我是超链接</a>
        <a href="#">我是超链接</a>
    
        <br><br><br><br><br><br>
        <!--行内块级标签-->
        <input>
        <button>我是按钮</button>
        <button>我是按钮</button>
    </body>
    </html>

    布局相关属性

    opacity:0; /透明度 1完全显示0 完全隐藏/

    1.display :修改元素性质 (display: block)

    我们不能为行内元素设置width、height,我们可以通过修改display来修改元素的性质

    -block : 设置元素为块元素       在元素后面换行,显示下一个元素 ,多添加一个就会到下一行显示【Div】

    -inline : 设置元素为行内元素  多个块可以显示在一行内【span】

    -inline-block : 设置元素为行内块元素

    -none : 隐藏元素(元素将在页面中完全消失)

    内联元素和块级元素转换

    <style>
         .display-div{    background-color: red;    width: 200px;/*可定义宽度*/    display: inline;/*转换为内联元素*/}
         .display-span {    background-color: green;    width: 200px;/*无法定义宽度*/    display: block; /*编程块级元素就可以定义宽度了*/}
    </style>

     

    2.visibility 设置元素是否可见

    和display不同,使用visibility隐藏一个元素,隐藏后其在文档中所占的位置会依然保持,不会被其他元素覆盖。

    -visible : 可见的

    -hidden : 隐藏的

     

    3.overflow:控制内容溢出

    当标签内容超出样式的宽高时,浏览器就会让内容溢出盒子。通过overflow来控制溢出的情况

    -visible : 默认值

    -scroll : 添加滚条

    -auto : 根据需要添加滚动条

    -hidden : 超出盒子内容隐藏

     

    4.float 浮动

    使元素脱离原来的文本流,在父元素中浮动起来,浮动使用float属性.

    - none : 不浮动

    - left : 左浮动

    - right : 右浮动

    ①块级元素和行内元素都可以浮动,当一个行内元素浮动以后将会自动变为一个块级元素。

    ②当一个块级元素浮动以后,宽度默认被内容撑开,所以当浮动一个块级元素时,我们要为其制定一个宽度。

    ③当元素浮动后,其下方的元素会上移,元素中的内容将会围绕在元素的周围。

    ④浮动会使元素脱离文本流,即不在文档中占用位置。

    ⑤元素设置浮动后,会一直向上漂浮直到遇到父元素的边界或者其他浮动元素

    ⑥元素浮动后完全脱离文档流,这时不再影响父元素的高度,也就是浮动元素不会撑开父元素。

    ⑦浮动元素默认会变为块元素,即使设置display:inline依然是个快元素。

    清除浮动

    clear 清除元素周围的浮动对元素的影响。(元素不会因为上方出现了浮动元素而改变位置)

    - left 忽略左浮动

    - right 忽略右浮动

    - both 忽略全部浮动

    - none 不忽略浮动,默认值

     

    5.position 定位

    控制浏览器在何处显示特定的元素。可以使用position属性把一个元素放置到网页中的任何位置。

    -static 没有定位

    -relative相对定位

    -absolute绝对定位

    -fixed   根据浏览器窗口进行定位

    left ,right ,top ,bottom 离页面顶点的距离

    相对定位:relative

    每个元素在文档流都有一个自然位置,相对于这个位置对元素进行移动,周围的元素完全不受此影响。

    将position属性设置为relative时,则开启了元素的相对定位。

    当开启相对定位后,可以使用top、right、bottom、Left四个属性对元素进行定位。

    特点:

    ①如果不设置元素的偏移量,元素位置不会发生改变。

    ②相对定位不会是元素脱离文本流,元素在文本流中的位置不会改变。

    ③相对定位不会改变元素原来的属性。

    ④相对定位使元素的层级提升,使元素可以覆盖文本流中的元素。

    绝对定位:absolute

    绝对定位使元素相对于离他最近的父级定位元素进行定位。

    当开启绝对定位后,可以使用top、right、bottom、Left四个属性对元素进行定位。

    特点:

    ①使元素脱离文本流,不受其他元素的影响和影响其他元素。

    ②块元素的宽度会被内容撑开。

    ③使行内元素变为块级元素。

    ④absolute和relative一般成对使用。

    固定定位:fixed

    设置后,该元素被锁定在屏幕的某个位置上,滚动网页时,固定元素会在屏幕上保持不动。

    同样可以使用top、right、bottom、Left四个属性对元素进行定位。

     

    6.z-index 提升定位元素所在的层级,值越大,优先级越高。

     

    7.其他

    /*设定分栏的个数*/

    -webkit-column-count: 3;

    -moz-column-count: 3;

    /*设定两个栏目之间间隙*/

    -webkit-column-gap: 60px;

    -moz-column-gap: 60px;

    /*栏目之间增加一条分割线*/

    -webkit-column-rule: solid 1px lightgray;

    -moz-column-rule: solid 1px lightgray;

    /*设定分栏的宽度*/

    -webkit-column- 200px;

    -moz-column- 200px;

    /*修改成盒布局*/

    display: -moz-box;

    display: -webkit-box;

    /*改变元素的排列方向*/

    -webkit-box-orient: vertical;

    -moz-box-orient: vertical;

    /*设置元素的显示顺序*/

    -webkit-box-ordinal-group: 3;

    -moz-box-ordinal-group: 3;

    *设置自动填充 使用弹性盒布局来消除空白*/

    -webkit-box-flex: 2;

    -moz-box-flex: 2;

    指定水平方向与垂直方向的对齐方式

    -moz-box-align: end;

    -webkit-box-align: end;

    -moz-box-pack: end;

    -webkit-box-pack: end;

    自适应布局:监听屏幕宽度对标签样式大小进行修改

    <style>
    /*自适应布局*/
    @media screen  and (max- 1086px){
        #nav ul li a{
            width: 150px;
        }
    }
    
    @media screen  and (max- 812px){
        #nav ul li a{
            width: 100px;
            font-size: 25px;
        }
    
        #list{
            margin-top: 50px;
        }
    }
    </style>

    兼容问题及高效开发工具

    <!--①兼容性测试工具 : IE Tester 和 Multibrowser-->
    <!--②常用的浏览器 Google chrome Firefox opera-->
    <!--③高效的开发工具:-->
    <!--Notepad + + 、 subline Text 、记事本 轻量级的-->
    <!--WebStorm  Dreamweaver 重量级的-->
    <!--④网页设计工具:fireworks 、Photoshop-->
    <!--⑤判断IE的方法:只有在IE浏览器下才能执行-->
    <!--<!—[if 条件版本]> 那么显示 <![endif]—> 条件判断格式-->
    <!--除了IE8都可以显示 [if !IE 8]不等于-->
    <!--如果IE 浏览器版本小于5.5的显示 [if lt IE 5.5] 小于-->
    <!--如果IE浏览器版本大于5的显示   [if gt IE 5] 大于-->
    <!--如果IE浏览器版本小于6的显示  [if lte IE 6]  小于或者等于-->
    <!--如果IE浏览器版本小于7的显示  [if gte IE 7]  大于或等于-->
    <!--如果IE浏览器版本大于IE5小于7的显示  [if (gt IE 5)&(lt IE 7)]  大于和小于之间-->
    <!--如果是IE6或者IE7显示  [if (IE 6)|(IE 7)] 或-->
    <!--如果是IE8  &lt;!&ndash;[if IE 8]>  仅-->

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    Html.BeginForm())与Ajax.BeginForm()
    MVC5+EF6 (附加分页功能)
    display模版详细介绍
    vs2013创建mvc项目体系找不到指定文件
    MVC2、MVC3、MVC4、MVC5之间的区别 以及Entity Framework 6 Code First using MVC 5官方介绍教程
    windows下android开发环境搭建
    windows下android环境的搭建:完成后添加android其他版本
    免费提供各种编程语言视频教程资料!(福利!)
    AS无法连接手机,5037端口总被占用怎么办?
    Android基于bmob后端云实现数据读取
  • 原文地址:https://www.cnblogs.com/StevenHuSir/p/WebLayout.html
Copyright © 2020-2023  润新知