Web前置课(4)

Web前置课(4)

盒子模型与布局相关属性

布局相关属性- clear:设置组件的左右是否允许出现其他浮动的对象

  • clear:设置组件的左右是否允许出现其他浮动的对象
    • none两边都允许
    • left左边不允许出现
    • right右边不允许出现
    • bot两边都不允许出现
  • overflow:组件内容不够容纳时,剩下的内容如何处理
    • visible默认 不剪裁 也不添加滚动条
    • auto如果容纳不下自动添加滚动条
    • hidden剪裁超出的部分
    • scoll:总是显示出滚动条
  • overflow-x:控制水平方向上overflow
  • overflow-y:控制垂直方向上overflow
  • visibility:组件是否显示,若不显示时,其所占用的空间依旧存在
  • display:设置组件如何显示

2.7.2 盒子模型与display属性

两种最基本的盒子模型:

  • block:块级元素,占据一行,可以设置宽高 div p
  • inline:内联元素,不占据一行,多个内联元素在同一行,放不下则换行,不可以设置宽高 span a img
  • inline-block:不占据一行,但也可以设置宽高

表格相关的盒子模型

  • table:将组件显示为表格样式
  • table-caption:将组件显示为表标题样式
  • table-cell:将组件显示为单元格样式
  • table-row:将组件显示为行的样式

2.7.3 给盒子模型加阴影

  • box-shadow属性
    • hOffset:水平偏移
    • vOffset:垂直偏移
    • blurlength:阴影的模糊程度
    • scaleLength:阴影的缩放程度
    • color:阴影的颜色

使用盒子模型来实现多栏布局

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset='gbk'">
        <style>
            body {
                margin: 0;
            }
            div#container {
                width: 1200px;
                border: 1px solid black;
                /*设置容器组件为box样式*/
                display: -webkit-box;
            }
            div>div {
                border: 1px solid #aaf;
                box-sizing: border-box;
                border-radius: 15px 15px 0px 0px;
                background-color: #ffc;
                padding: 5px;
                margin: 10px;
            }

        </style>
    </head>
    <body>
        <div id="container">
        <div style="width: 220px;">
            <h2>第一栏</h2>
            <p>
                北国风光,千里冰封,万里雪飘,望长城内外,惟余莽莽,大河上下,顿失滔滔,山舞银蛇,原驰蜡象,欲与天公试比高,须晴日,看红装素裹,分外妖娆,*如此多娇,引无数英雄竞折腰,惜秦皇汉武,略输文采,唐宗宋祖,稍逊风骚,一代天骄,成吉思汗,只识弯弓射大雕,俱往矣,数风流人物,还看今朝。
            </p>
        </div>
        <div style="width: 500px;">
            <h2>第二栏</h2>
            <ul>
                <li><a href="#">最热新闻</a></li>
                <li><a href="#">国内新闻</a></li>
                <li><a href="#">国际新闻</a></li>
                <li><a href="#">娱乐新闻</a></li>
            </ul>
        </div>
        <div style="width: 240px;">
            <h2>第三栏</h3>
            <figure>
                <figcaption>美女图片</figcaption>
                <img src="img/mv1.jpg" width="100px">
                <img src="img/mv2.jpg" width="100px">
                <img src="img/mv3.jpg" width="100px">
            </figure>
        </div>
    </div>
    </body>
</html>

官方推荐的一种栅格布局案例

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset='gbk'">
        <style>
            #content {
                display: grid;
                grid-template-columns: repeat(4,1fr);
                grid-template-rows: minmax(100px,auto);
                max-width: 960px;
                margin: 0px auto;
                grid-gap:10px;
                grid-template-areas: 
                    "header header header header"
                    "aside  . main main"
                    "nav . main main"
                    "section section section section"
                    "section section section section"
                    "footer footer footer footer";
            }
            #content>* {
                background-color: #3bbced;
                padding: 30px;
            }
            header {grid-area: header;}
            main {grid-area: main;}
            section {grid-area: section;}
            aside {grid-area: aside;}
            nav {grid-area: nav;}
            footer {grid-area: footer;}
        </style>
    </head>
    <body>
        <div id="content">
            <header>Header</header>
            <main>Main</main>
            <section>Section</section>
            <aside>Aside</aside>
            <nav>Nav</nav>
            <footer>Footer</footer>
        </div>
    </body>
</html>
上一篇:北航团队四年研究成果登上《科学·机器人》长文封面,仿生学科研又上一层楼


下一篇:关于临界区CRITICAL_SECTION