CSS 显示、定位、布局、浮动

一、CSS 显示:

CSS display属性设置元素应如何显示;CSS visibility属性指定元素应可见还是隐藏。隐藏元素可以通过display属性设置为"none",也可以通过visibility属性设置为"hidden"。两者的区别:visibility:hidden可以隐藏某个元素,但隐藏的元素仍占用之前的空间,即该元素虽然被隐藏,但仍然会影响布局;display:none可以隐藏某个元素,且隐藏的元素不占用任何空间。

CSS display-块和内联元素:块元素是一个元素,占用全部宽度,在前后都是换行符;内联元素只需必要的宽度,不强制换行。示例:

<style>

p {display:inline;}

</style>

<style>

span

{

display:block;

}

</style>

<style>

table, th, td {

border: 1px solid black;

}

tr.collapse {

visibility: collapse;

}

</style>

二、CSS 定位:

CSS position(定位)属性指定元素的定位类型。position竖向的五个值:static、relative、fixed、absolute、sticky。元素可以使用顶部、底部、左侧、右侧属性定位,但需先设定position属性。

1)、static定位:

HTML元素的默认值是没有定位,遵循正常的文档流对象。静态定位的元素不会受到top、bottom、left、right影响。示例:

<style>

div.static {

position: static;

border: 3px solid #73AD21;

}

</style>

2)、fixed定位:

Fixed定位:元素的位置相对于浏览器窗口是固定位置,即窗口是滚动的,元素是不会移动的。示例:

<style>

p.pos_fixed

{

position:fixed;

top:30px;

right:5px;

}

</style>

3)、relative定位:

relative定位元素的定位是相对其正常的位置。移动相对定位元素,但他原本所占的空间不会改变。相对定位元素经常被用来作为绝对定位元素的容器块。示例:

<style>

h2.pos_left

{

position:relative;

left:-20px;

}

h2.pos_right

{

position:relative;

left:20px;

}

</style>

4)、absolute定位:

absolute定位的元素的位置相对于最近的已定位父元素。如果元素没有已定位的父元素,那它的位置相对于<html>。示例:

<style>

h2

{

position:absolute;

left:100px;

top:150px;

}

</style>

absolute定位使元素的位置与文档流无关,因此不占据空间。absolute定位的元素和其他元素重叠。

5)、sticky定位:

sticky定位未粘性定位,基于用户的滚动位置来定位。粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。元素定位表现为在跨越特定阈值前为相对定位,之后为固定定位。这个特定阈值指的是 top, right, bottom 或 left 之一,换言之,指定 top, right, bottom 或 left 四个阈值其中之一,才可使粘性定位生效。否则其行为与相对定位相同。示例:

<style>

div.sticky {

position: -webkit-sticky;

position: sticky;

top: 0;

padding: 5px;

background-color: #cae8ca;

border: 2px solid #4CAF50;

}

</style>

所有CSS定位属性:

|--------------------------------------------------------------------------------------------------|--------------------------------|----------------------------------------------------------------------------------------------------------------------------------------|
| 属性 | 说明 | |
| ++bottom++ | 定义了定位元素下外边距边界与其包含块下边界之间的偏移。 | auto length % inherit |
| ++clip++ | 剪辑一个绝对定位的元素 | shape auto inherit |
| ++cursor++ | 显示光标移动到指定的类型 | url auto crosshair default pointer move e-resize ne-resize nw-resize n-resize se-resize sw-resize s-resize w-resize text wait help |
| ++left++ | 定义了定位元素左外边距边界与其包含块左边界之间的偏移。 | auto length % inherit |
| ++overflow++ | 设置当元素的内容溢出其区域时发生的事情。 | auto hidden scroll visible inherit |
| ++overflow-y++ | 指定如何处理顶部/底部边缘的内容溢出元素的内容区域 | auto hidden scroll visible no-display no-content |
| ++overflow-x++ | 指定如何处理右边/左边边缘的内容溢出元素的内容区域 | auto hidden scroll visible no-display no-content |
| ++position++ | 指定元素的定位类型 | absolute fixed relative static inherit |
| ++right++ | 定义了定位元素右外边距边界与其包含块右边界之间的偏移。 | auto length % inherit |
| ++top++ | 定义了一个定位元素的上外边距边界与其包含块上边界之间的偏移。 | auto length % inherit |
| ++z-index++ | 设置元素的堆叠顺序 | number auto inherit |

三、CSS 布局:

CSS布局(overflow)属性用于控制内容溢出元素框时显示的方式。CSS overflow属性可以控制内容溢出元素框时在对应的元素区间内添加滚动条。overflow属性只工作于指定高度的块元素上。overflow属性有以下值:

四、CSS 浮动:

CSS 的float(浮动)会使元素向左或向右移动,其周围的元素也会重新排列。float(浮动)往往用于图像。

元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。一个浮动元素会尽量向左或向右移动,直到它的外边边缘碰到包含框或者另一个浮动框的边框为止。

如果把几个浮动的元素放在一起,如果有空间的话,他们将彼此相邻,示例:

<style>

.thumbnail

{

float:left;

width:110px;

height:90px;

margin:5px;

}

</style>

元素浮动之后,周围的元素会重新排列,为了避免这种情况,使用clear属性。Clear属性指定元素两侧不能出现浮动元素。

CSS中所有的浮动属性:

相关推荐
风雨兼程^_^8 分钟前
Nuxt3项目的SEO优化(robots.txt,页面tdk,伪静态.html,sitemap.xml动态生成等)
前端·seo·nuxt3·服务端渲染ssr
佬乔10 分钟前
xml中配置AOP织入
java·服务器·前端
Eugene__Chen12 分钟前
JavaWeb开发基础知识-XML和JSON
java·开发语言·前端
谢尔登15 分钟前
为 IDEA 设置管理员权限
前端·express
Kx…………31 分钟前
Uni-app入门到精通:uni-app的基础组件
前端·css·学习·uni-app·html
巴巴博一34 分钟前
keep-alive缓存
前端·javascript·vue.js·缓存·typescript
Tipriest_42 分钟前
【前端扫盲】postman介绍及使用
前端·测试工具·postman
wuaro1 小时前
JS的深浅拷贝
前端·javascript·html
Hamm2 小时前
用一种全新的方式来实现i18n,和魔法字符串彻底说拜拜
前端·vue.js·typescript
摸鱼仙人~2 小时前
React: hook相当于函数吗?
前端·javascript·react.js