JavaWeb03

盒子模型

div:

用来定义文档中的分区(division,可以把网页分成多个不同的独立部分

盒子模型简介:

复制代码
<style>
        body{
            background-color: green;
        }
        div{
            height: 200px;/*内容的高度 */
            width: 200px;
            background-color: aliceblue;
            padding-left: 30px;
            padding-top: 50px;
            border: 10px solid red;
            margin-top: 30px;
            margin-left: 50px;
            
        }
    </style>
</head>
<body>
    <div>
        文字内容
    </div>
</body>

一个盒子模型,主要是由内容、内边距、边框、外边距、宽度、高度组成

整个盒子的宽度和高度:width+padding+border height+padding+border

边框

统一设置:border:blue solid 2px;

边框颜色:

|--------------------------------------|----------------------------|----------------------------|
| 属性 | 说明 | 案例 |
| border-top-color | 上边框颜色 | border-top-color: pink; |
| border-right-color | 右边框颜色 | border-right-color: pink; |
| border-left-color | 左边框颜色 | border-left-color: pink; |
| border-bottom-color | 下边框颜色 | border-bottom-color: pink; |
| border-color | 四个边框的统一颜色 | border-color: red; |
| border-color: red green; | 上下是red 左右是green | |
| border-color: red yellow green; | 上是red 下是green 左右是yellow | |
| border-color: red green yellow pink; | 按顺时针赋值,上->右->下->左依次填入颜色 | |

边框粗细(宽度):

border-width:

border-top-width:10px;

border-bottom-width:10px;

border-left-width:10px;

border-right-width:10px;

边框样式:

border-style:

solid 实线

dotted 小圆点线

double 双实线

dashed 虚线

也可以按照前面的格式指定改变是哪条线

外边距

margin:0px auto 控件居中对齐

内间距

padding属性

padding-left

padding-right

padding-top

padding-bottom

复制代码
<style>
        div{
            width: 30px;
            border:1px solid red;
            padding: 10px 20px;
        }
    </style>
</head>
<body>
    <div>
        <div>
            333
            <br>
            444
        </div>
    </div>
</body>

元素默认样式

p段落的默认样式:上下margin:16px

标题

ul

重置默认样式

复制代码
*{
            margin: 0;
            padding: 0;
         }

元素分类

行级元素

块级元素

内联块元素

行级元素inline:

<a></a>

<b></b>

<strong></strong>

<i></i>

<span></span>

特点:默认同行可以继续跟同类型标签

宽度是内容决定的

不支持用户设置宽度

也不支持用户设置高度

也不支持上下外边距

块级元素block

<p></p>

<div></div>

<ul>

<li></li>

</ul>

默认是独占一行

支持CSS所有控制的指令(长宽高等)

如果没有设置宽度,默认占满行

内联块元素inline-block:

<img>

特点:

元素还是在一行显示

支持宽和高的设置

<img src="https://assets.leetcode.cn/aliyun-lc-upload/study_plan_v2/top-interview-150/cover" style="width:20px;height:10px">

也支持外间距的设置,但是要和其他保持在一行上

元素显式转换的属性display

使用display可以实现元素显示或不显示

可以控制的显示方式:行级显示 块级显示 内联块显示

|--------------|-------|
| 取值 | 描述 |
| block | 块级元素 |
| inline | 行级元素 |
| inline-block | 内联块元素 |
| none | 不显示 |

复制代码
<style>
        div{
            height:100px;
            width:100px;
            border:2px red solid;
            display: inline;
        }
        a{
            display: block;
        }
    </style>
</head>
<body>
    <div>111</div>
    <div>222</div>
    <a href="">百度</a>
    <a href="">阿里</a>
    <a href="">腾讯</a>
</body>

Flex布局

Flex是Flexible Box的缩写,表示"弹性布局"

采用flex布局的元素称为flex容器,里面的元素称为flex item

flex容器默认存在两条轴 水平方向上有一个主轴(main axis)垂直方向上交叉轴(cross axis)

主轴开始的位置称为main start 结束的位置main end

交叉轴开始的位置称为cross start 结束的位置cross end

单个的flex item,占据主轴的空间叫做main size,占据的交叉轴空间叫做cross size

flex-direction:控制flex item排列方向(主轴的方向)

flex-direction: column-reverse;/*row/row-reverse*/

row-reverse:主轴为水平方向,起点在右侧

column:主轴为垂直方向、起点在上沿

flex-wrap:控制flex item显示不下,是否进行换行处理

nowrap:默认值,不换行

wrap:换行,第一行在上方

wrap-reverse:换行,第一行在下方

justify-content:定义元素在主轴上的对齐方式

flex-start:从main start起始位置对齐

flex-end:从main end结束位置对齐

center:居中对齐

space-between:两端对齐,项目之间间隔相等

space-around:每个项目之间间隔相等

边框圆角:

border-radius:50%;

15px;

50% 0 50% 0;效果:

复制代码
<style>
        div{
            width:100px;
            height: 100px;
            background-color: pink;            
            border:1px red solid;

        }
        div.out{
            background-color: purple;
            width: 600px;
            height: 300px;
            display: flex;
            flex-direction: row-reverse;/*row/row-reverse*/
            /* flex-wrap: wrap-reverse; */
            justify-content: space-around;
        }
        .x{
            width: 100px;
            height: 100px;
            background-color: antiquewhite;
            border:2px solid red;
            border-radius: 50% 0 50% 0;
            text-align: center;
            line-height: 100px;
        }
    </style>
</head>
<body>
    <div class="out">
        <div class="x">1</div>
        <div class="x">2</div>
        <div class="x">3</div>
    </div>
</body>

表格:

网页元素中,类似于下面的,都属于表格处理

基本标签使用:

table标签:表格最外层元素的定义

tr标签:定义一行

td标签:定义单元格

th标签:表头的单元格,默认文字居中加粗

caption标签:表格的标题

thead、tbody、tfoot是表格语义化,来标识表头、表身、表脚部分,没有实质意义

复制代码
<body>
    <table border="1" width="300" cellspacing="0" cellpadding="10">
        <caption>NBA排名</caption>
        <thead>
            <tr>
                <th>球队</th>
                <th>排名</th>
            </tr>
        </thead>
        <tr>
            <td>
                内容1
            </td>
            <td>
                内容2
            </td>
        </tr>
        <tr>
            <td>
                内容3
            </td>
            <td>
                内容4
            </td>
        </tr>
    </table>
</body>

表格样式的处理

复制代码
<style>
        table,td,th{
            border: 1px black solid;
            border-collapse: collapse;/*边框塌陷的问题*/
            text-align: center;
            padding: 10px;
        }
        table{
            margin: 0 auto;
            width: 300px;
        }
        .g{
            background-color: rgb(90, 89, 89);
        }
    </style>
</head>
<body>
    <table>
        <caption>NBA排名</caption>
        <thead class="g">
            <tr>
                <th>球队</th>
                <th>排名</th>
            </tr>
        </thead>
        <tr>
            <td>内容1</td>
            <td>内容2</td>
        </tr>
        <tr class="g">
            <td>内容3</td>
            <td>内容4</td>
        </tr>
        <tr>
            <td>合计</td>
            <td>数量</td>
        </tr>
    </table>
</body>

表格的合并

跨占列:

colspan

复制代码
<body>
    <table>
        <tr>
            <td colspan="4">11</td>
            <td colspan="4">22</td>
        </tr>
        <tr>
            <td colspan="2">33</td>
            <td colspan="2">44</td>
            <td colspan="2">55</td>
            <td colspan="2">66</td>
        </tr>
        <tr>
            <td>AA</td>
            <td>AA</td>
            <td>AA</td>
            <td>AA</td>
            <td>AA</td>
            <td>AA</td>
            <td>AA</td>
            <td>AA</td>
        </tr>
    </table>
</body>

跨占行:

rowspan

复制代码
<body>
    <table>
        <tr>
            <td rowspan="4">A</td>
            <td rowspan="2">B</td>
            <td>C</td>
        </tr>
        <tr>
            <td>D</td>
        </tr>
        <tr>
            <td rowspan="2">E</td>
            <td>F</td>
        </tr>
        <tr>
            <td>G</td>
        </tr>
    </table>
</body>
相关推荐
Alice-YUE2 小时前
ai对话平台流式响应输出怎么实现?
前端·笔记·ai·语言模型
一个public的class2 小时前
前后端 + Nginx + Gateway + K8s 全链路架构图解
前端·后端·nginx·kubernetes·gateway
胡志辉的博客2 小时前
网络七层到底怎么落到一次前端请求上:从浏览器到网卡,再到远端服务器
服务器·前端·网络
小比特_蓝光2 小时前
从环境变量到进程地址空间:Linux系统学习笔记
前端·chrome
亿元程序员2 小时前
海外这个新游好玩?手把手带你实战一个!
前端
M ? A2 小时前
Vue slot 插槽转 React:VuReact 怎么处理?
前端·javascript·vue.js·经验分享·react.js·面试·vureact
a1117762 小时前
演唱会3D选座网页(HTML 开源)
前端·3d·html
ZC跨境爬虫2 小时前
3D 地球卫星轨道可视化平台开发 Day10(交互升级与接口溯源)
前端·javascript·3d·自动化·交互
恋猫de小郭2 小时前
WasmGC 是什么?为什么它对 Dart 和 Kotlin 在 Web 领域很重要?
android·前端·flutter