关于块级元素,如 div
独占一行
块级元素中可以设置 width、height、padding、margin 等属性。
默认情况下:宽度默认是它的 容器/父级 的100%,高度默认是由他的内容撑起。
关于行内元素,如 span
宽高设置不生效,宽度为内容宽度,高度也是内容高度
body 和 html
html由两个子元素:head,body
body 和 html 都是块级元素,可以自由设置宽高
默认情况下:body 和 html 的宽度都是浏览器宽度,高度由内容撑起
height:100% 和 height:100vh
vh 就是当前屏幕可见高度的1%
% 是相对于父元素高度的百分比
当元素没有内容或其父元素没有高度时,设置height:100%,该元素此时高度为0
但是设置height:100vh,该元素会被撑开与屏幕可视高度一致,即使元素没有内容
实现 占满全屏
<body>
<div class="box"></div>
</body>
刚开始这个时候,html,body,div 的宽度都是浏览器宽度,高度都是 0
方案一
依据 % 的方式
/* 刚开始 div, body, html 的高度都是 0 */
/* div高度的 100% 要依靠body, body要依靠html, html要依靠浏览器 */
/* 因为此时 只有浏览器有确定高度 */
html,body{
height: 100%;
}
.box{
height: 100%;
background-color: pink;
}
方案二
/* 此时 body,html 的高度也都被撑满全屏了 */
.box{
height: 100vh;
background-color: pink;
}
在外部 js 文件中,使用querySelector 失效,获取不到元素
原因:在 html中 引入js的位置没有放到 body里
text-decoration
如果使行内元素,行内块元素进行居中,text-align 要给到其父标签身上。
text-align,只对 inline,inline-block元素有效。
text-align定义行内内容(例如文字)如何相对它的块父元素对齐。text-align并不控制块元素自己的对齐,只控制它的行内内容的对齐。