day21CSS布局

1.标准流布局

<!--1.什么是标准流 
    在没有给标签通过CSS布局的时候,标签在浏览器里有一套默认的布局规则,这个就是标准流
    
    2.标准流布局规则
    a.块标签 - 一个占一行(不管标签本身的宽度);设置宽高有效;默认宽度是父标签的宽度,默认高度是内容的高度
    例如:p,h1 - h6,hr,div...
    b.行内标签 - 一行有多个;默认大小是内容的大小;设置宽高无效
    例如:a、font、span、label
    c.行内块标签 - 一行可以显示多个;默认大小是内容的大小;设置宽高有效
    例如:input、button、img
    
    3.display属性
    a.display:block - 块标签
    b.display:inline - 行内标签
    c.display:inline-block - 行内块
    d.display:none - 隐藏
    
    4.脱流/脱标
    只要标签脱流/脱标,标准流的规则全部失效;不管什么标签在脱离标准流的情况下都是按照以下规则进行布局:
    一行可以显示多个;默认大小是内容大小;设置宽高有效
    
    浮动和定位都可以让标签脱流
-->

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>标准流布局</title>
        <style type="text/css">
            button:active{
                border: 2px;
                border-color: darkred;
            }
        </style>
    </head>
    <body>
        <!-- 1.块标签 -->
        <p style="background-color: greenyellow; font-size: 40px;">我是段落1</p>
        <p style="background-color: hotpink; width: 200px; height: 50px;">我是段落2</p>
        <!-- 2.行内标签 -->
        <a href="" style="background-color: aqua; height: 60px;">百度</a><a href="" style="background-color: lightpink; width: 60px;">新浪</a>
        <input type="submit" name="" id="" value="提交" style="width: 150px; height: 150px"/>
        <button type="button" style="width: 60px; height: 60px; background-color: deeppink; border: none; border-radius: 8px;">提交</button>
        <br>
        <br>
        <br>
        <div id="" style="display: inline-block; background-color: dimgrey; height: 60px;">我是div1</div>
        <div id="" style="display: inline;background-color: pink;">我是div2</div> 
        <br><br>
        <form action="" method="post">
            
            <input type="submit" name="" id="" value="提交" style="width: 150px; height: 150px"/>
        </form>
        
    </body>
</html>

2.float

<!--1.float属性 
    left - 左浮动
    right - 右浮动
-->
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <!-- ========1.浮动能够让标签脱标========== -->
        <div id="" style="background-color: #8B0000; height: 200px; width: 200px; float: left;">左浮动</div>
        <div id="" style="background-color: deeppink; height: 200px; width: 200px; float: right;">右浮动</div>
        <div id=""style="height: 400px; width: 100%; background-color: aqua; text-align: center;">
            老子没动
        </div>
        
        <!-- ========2.浮动的原理========== -->
        <br><br>
        <div id="" style="width: 100%; height: 100px; background: blue;"></div>
        <div id="" style="width: 60%; height: 300px; background: pink; float: left;"></div>
        <div id="" style="width: 40%; height: 300px; background: yellowgreen; float: right;"></div>
        <div id="" style="width: 100%; height: 200px; background: red; float: left;"></div>
    </body>
</html>

3.内容环绕

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <!--浮动 
            被环绕的对象浮动,环绕的内容的容器标签不浮动
        -->
        <div style="width: 100px; height: 100px; background-color: springgreen; float: left;"></div>
        <div style="width: 500px;">深蓝的天空中挂着一轮金黄的圆月,下面是海边的沙地,都种着一望无际的碧绿的西瓜。其间①有一个十一二岁的少年,项带银圈,手捏一柄钢叉,向一匹猹②尽力地刺去。那猹却将身一扭,反从他的胯下逃走了。

这少年便是闰土。我认识他时,也不过十多岁,离现在将有三十年了;那时我的父亲还在世,家景也好,我正是一个少爷。那一年,我家是一件大祭祀的值年。这祭祀,说是三十多年才能轮到一回,所以很郑重。

正月里供像,供品很多,祭器很讲究,拜的人也很多,祭器也很要防偷去。我家只有一个忙月(我们这里给人做工的分三种:整年给一定人家做工的叫长工;按日给人做工的叫短工;自己也种地,只在过年过节以及收租时候来给一定的人家做工的称忙月),忙不过来,他便对父亲说,可以叫他的儿子闰土来管祭器的。

我的父亲允许了;我也很高兴,因为我早听到闰土这名字,而且知道他和我仿佛年纪,闰月生的,五行缺土,所以他的父亲叫他闰土。他是能装弶捉小鸟雀的。</div>
    </body>
</html>

4.清除浮动

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style type="text/css">
            .clear3:after{
                display: block;
                clear: both;
                content:"";
                visibility: hidden;
                height: 0;
            }
            .clear3{
                zoom: 1;
            }
        </style>
    </head>
    <body>
        <!--
        
            1.清除浮动 :清除浮动是因为浮动而产生的高度塌陷问题
            2.高度塌陷:当父标签不浮动,并且u设置固定高度;字标签浮动就会产生高度塌陷问题
            3.清除浮动的方法:
            a.空盒子法:在高度会塌陷的标签最后添加一个空的div,并且设置这个空的div的样式clear属性为both
            b.设置高度会塌陷的标签样式的overflow属性为hiddden
            c.万能清除法:给高度会塌陷的标签的after状态添加样式{display: block;clear: both;content:"";visibility: hidden;height: 0;}
            再给高度塌陷的标签添加样式属性zoom的值为1
        -->
        <div id="" style="height: 150px; background-color: #8B0000;">
            top
        </div>
        <!-- overflow: hidden 
        <div id="" style="background-color: black; overflow: hidden;">
        -->
        <div id="" class="clear3" style="background-color: black;">
            <div id="" style="height: 200px; width: 200px; background-color: aqua; float: left;">
                
            </div>
            <div id="" style="height: 300px; width: 200px; background-color: blueviolet; float: right;">
                
            </div>
            <!-- 空盒子法
             <div style="clear:both;"> </div>
             -->
        </div>
        <div id="" style="height: 150px; background-color: cadetblue;">
            footer
        </div>
    </body>
</html>

5.定位

<!--定位
    1.position属性 - 选中定位的标签的参考对象
    initial/static - 不定位,默认值;但是body的默认值不是他
    absolute - 绝对定位,相对于第一个position属性不是initial/static 的父标签进行定位
    relative - 相对标准流定位(一般将参照对象的position设置为relative),相对于标准流中的位置
    fixed - 相对浏览器定位
    sticky - 定位保持网页中最后一个快在最后面(网页内容不满一屏时贴着内容最后,内容超过一屏在浏览器最下边)
    2.left\right\top\bottom - 设置当前标签到参考对象左右上下的距离
 -->
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style type="text/css">
            #div1{
                position: relative;
            }
            #div2{
                /* 设置参考对象 */
                position: absolute;
                /* 设置间距 */
                right: 150px;
                top: 150px;
                border-radius: 50%;
            }
            #div3{
                position: fixed;
                right: 20px;
                top: 20px;
            }
            #div4{
                position: sticky;
                bottom: 1px;
            }
        </style>
    </head>
    <body>
        <!-- 绝对定位 -->
        <div id="div1" style="background-color: hotpink; width: 400px; height: 400px;">
            <div id="div2" style="background-color: yellowgreen; width: 100px; height: 100px;">
                
                
            </div>
            
        </div>
        <br><br>
        <div id="" style="height: 1500px; width: 100%; background-color: #8B0000;">
            
        </div>
        <!-- 相对浏览器定位 -->
        <div id="div3" style="background-color: deeppink; width: 100px; height: 100px;">
            
        </div>
        <div id="div4" style="background-color: cyan; height: 40px; width: 100%;">
            
        </div>
    </body>
</html>

6.盒子模型

<!--盒子模型
    html中每个可见的标签都是一个盒子模型,有content、padding、border、margin组成
    1).content - 内容,设置宽和高其实是设置盒子内容的大小;添加子标签是添加在内容上的,
    设置背景颜色,背景图都会作用于内容部分
    2).padding - 内容外面的可见部分(默认没有)设置padding会让标签变大
    设置背景颜色,背景图都会作用于内容部分
    3).border - 有4个方向,可以单独控制每个方向的大小、颜色、样式
    4).margin - 内边距,有4个方向,可以单独控制每个方向的大小
 -->
 
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>盒子模型</title>
        <style type="text/css">
            #div1{
                /* 1.设置padding 
                    一起设置4个方向上的padding为10px
                    padding: 10px;
                */
               /* 2.单独设置各个方向的padding */
               padding-top: 20px;
               /* 3.border 
               1.一起赋值:边框宽度、边框样式、边框颜色
               边框样式:solid(实线)、dashed(虚线)、dotted(点划线)、double(双线)
               *//
              border: 3px solid darkorchid;
              /* 4.margin */
              margin: 20px;
                
            }
            .c1,.c2,.c3,.c4,.c5,.c6,.c7,.c8{
                width: 100px;
                height: 100px;
                background-color: deeppink;
                margin-left: 10px;
                margin-top: 10px;
                float: left;
            }
            #div2{
                background-color: black;
                width: 450px;
                height: 232px;
            }
            
        </style>
    </head>
    <body>
        <div id="div1" style="width: 200px; height: 200px; background-color: deeppink;">
            <p>我是段落1</p>
        </div>
        
        <br><br>
        <div id="div2">
            <div class="c1">
                
            </div>
            <div class="c2">
                
            </div>
            <div class="c3">
                
            </div>
            <div class="c4">
                
            </div>
            <div class="c5">
                
            </div>
            <div class="c6">
                
            </div>
            <div class="c7">
                
            </div>
            <div class="c8">
                
            </div>
        </div>
    </body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,717评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,501评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,311评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,417评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,500评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,538评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,557评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,310评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,759评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,065评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,233评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,909评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,548评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,172评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,420评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,103评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,098评论 2 352

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,747评论 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,465评论 1 45
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 1,827评论 0 6
  • 作者: zimosegmentfault.com/a/1190000011358507 前言 现在,我们被称为前端...
    grain先森阅读 5,298评论 3 20
  • 有一种爱叫做放手,为爱放弃天长地久,我们相守若让你付出所有,让真爱带我走。这是阿木的《有一种爱叫做放手》,我很喜欢...
    幽小窗阅读 757评论 111 37