页面布局
Posted roc-atlantis
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了页面布局相关的知识,希望对你有一定的参考价值。
列表
-
无序列表 ul li
-
有序列表 ol li
-
定义列表 dl dt dd
-
相关css属性 list-style list-style-type list-style-image list-style-position
表格
-
标签 table caption thead tbody tfoot tr th td
-
colspan rowspan td/th 的属性
-
CSS属性: table-layout、border-collapse 、border-sapcing、 caption-side、 empty-cells
表单
-
input type(text、password、radio、checkbox、file、url、email、tel、search、range、color、date、time、week、month、datetime-local、number、button、submit、reset)
-
select option
-
textarea
-
button
-
属性:placeholder(H5)、disable、enable、readonly、 required、pattern、 autocomplete=“on/off” title autofocus
视频
-
video src autoplay loop poster preload controls
-
audio src
-
source src
页面布局
有些CSS属性,后代元素会集成祖先元素的设置。font类型、color、文本属性
有些CSS属性,不会继承祖先元素。布局相关、border、背景
1 盒子模型
1.1 定义
-
任意一个元素都可以当做盒子模型
-
盒子的大小 内容宽高(width/height) + 边距(padding)+边框(border)
-
盒子有外边距,影响盒子的位置
1.2 块状元素和内联元素
块状(块级)
-
能够独占一行
-
默认宽度是父元素的宽,高度是自动(被内容撑开)
内联(行内)
-
不能独占一行
-
默认宽度是自动(被内容撑开),高度也是自动
-
大部分内联元素设置宽高无效,设置内边距有效但是影响其他元素
-
margin可以设置左右,不能设置 上下的
-
CSS的文本属性 会对内联元素生效
补充:
1.块级元素:
在html中<div>、 <p>、<h1>、<form>、<ul> 和 <li>就是块级元素。设置display:block就是将元素显示为块级元素。块级元素特点:
(1)、每个块级元素都从新的一行开始,并且其后的元素也另起一行;(一个块级元素独占一行)
(2)、元素的高度、宽度、行高以及顶和底边距都可设置;
(3)、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。
2.内联元素:
在html中,<span>、<a>、<label>、<input>、 <img>、 <strong> 和<em>就是典型的内联元素(行内元素)(inline)元素。当然块状元素也可以通 过代码display:inline将元素设置为内联元素。内联元素特点:
(1)、和其他元素都在一行上;
(2)、元素的高度、宽度、行高及顶部和底部边距不可设置;
(3)、元素的宽度就是它包含的文字或图片的宽度,不可改变。
注意:为 a 元素设置了宽和高,但都没有起到作用,原因是a在默认的时候是内联元素,内联元素是不可以设置宽和高的。
3.内联块状元素:
内联块状元素(inline-block)就是同时具备内联元素、块状元素的特点,代码display:inline-block就是将元素设置为内联块状元素。inline-block元素特点:
(1)、和其他元素都在一行上;
(2)、元素的高度、宽度、行高以及顶和底边距都可设置。
注意:img是inline元素,但是他同时也是替换元素,他有着特殊的表现:
1. 可以设置width/height;
2. 默认的,img元素在屏幕占据的空间与其图片的实际像素一致,除非CSS有设置或者自身的width/height HTML 属性有设置;
3. 如果img标签的包裹元素为也为inline元素,则img的边界可以超出其直接父元素的边界,直到自己的宽、高达到最大或者设定值为止,而且文档流中img的兄弟元素也不能遮盖住img。最常见的就是<a>里面包含的<img>;
4. 所以从行为上看,img元素作为替换元素,有着类似于Inline-block的行为,尽管在SPEC里面,他的确是一个inline元素。
1.3 盒子模型和盒子模型之间的关系
document树
父元素 子元素 后代元素 祖先元素 兄弟元素
标准文档流
-
块状元素 独占一行
-
内联共享一行
盒子在文档模型的位置
-
给盒子设置边距, 前面有兄弟元素,距离兄弟元素的距离。 没有距离父元素的内容的距离
-
垂直方向的margin会塌陷。 上(margin-bottom)下(margin-top)两个元素之间的距离,取最大。 水平方向没有这个问题
-
父子元素,给子元素设置垂直方向的margin,同样会产生塌陷。 解决: 给父元素设置边框 或者
overflow:hidden
-
margin可以设置为负值
1.4 布局相关属性
display
-
block 设置块
-
inline 设置为内联
-
inline-block 兼具两者 有些html元素,默认就是inline-block (img, input, textarea .td,th)
-
none 隐藏
布局相关
-
visibility: visible/hidden
-
overflow: hidden/auto/scroll/visible
-
overflow-x
-
overflow-y
尺寸
-
width / max-width / min-width
-
height / max-height / min-height
内边距
外边距
-
margin 4个值 3 2 1
-
margin-left
-
margin-top
-
margin-bottom
-
margin-right
作业
-
总结学过的元素, 块 内联 (inline-block的特征)
-
总结所有的HTML元素, 所有的CSS属性。
以上是关于页面布局的主要内容,如果未能解决你的问题,请参考以下文章
如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用
Spring boot:thymeleaf 没有正确渲染片段