聊聊CSS粘性定位sticky案例解析

yizhihongxing

聊聊CSS粘性定位sticky案例解析

什么是CSS粘性定位sticky

CSS粘性定位sticky是一种比较新的布局方式,它是相对定位和固定定位的结合,可以实现一些特殊的布局需求。粘性定位sticky的特点是在特定的条件下表现为固定定位,而在另一些条件下又表现为相对定位。

粘性定位的属性

粘性定位的属性只有一个,即position:sticky。这个属性值可以和topbottom一起使用,表示元素在滚动到指定位置时,将“粘滞”在那个位置上。

实际应用

示例一:固定表头

在某些需要表格展示的页面上,往往会出现表头需要随着页面向下滚动而保持可见的需求。这个时候就可以使用粘性定位。

<div class="table-wrap">
  <table>
    <thead>
      <tr>
        <th>表头1</th>
        <th>表头2</th>
        <th>表头3</th>
        <th>表头4</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>内容1</td>
        <td>内容2</td>
        <td>内容3</td>
        <td>内容4</td>
      </tr>
      <tr>
        <td>内容1</td>
        <td>内容2</td>
        <td>内容3</td>
        <td>内容4</td>
      </tr>
      <tr>
        <td>内容1</td>
        <td>内容2</td>
        <td>内容3</td>
        <td>内容4</td>
      </tr>
      <tr>
        <td>内容1</td>
        <td>内容2</td>
        <td>内容3</td>
        <td>内容4</td>
      </tr>
    </tbody>
  </table>
</div>
.table-wrap {
    height: 200px;
    overflow-y: auto;
}

th {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    background: #fff;
}

在这个示例中,我们给表头设置了position:stickytop: 0。这样,当我们滚动到表格的顶端时,表头就会“粘滞”在视窗的顶部,不再随着表格向上滚动而消失。

示例二:顶部导航栏

在某些需要固定顶部导航栏的网站中,使用粘性定位也是一种比较方便的实现方式。

<nav class="nav-wrap">
  <ul>
    <li><a href="#">导航项1</a></li>
    <li><a href="#">导航项2</a></li>
    <li><a href="#">导航项3</a></li>
    <li><a href="#">导航项4</a></li>
    <li><a href="#">导航项5</a></li>
  </ul>
</nav>
.nav-wrap {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    background: #fff;
}

.nav-wrap ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-between;
}

.nav-wrap ul li {
    margin: 0 20px;
    padding: 10px 0;
}

.nav-wrap ul li:first-child {
    margin-left: 0;
}

.nav-wrap ul li:last-child {
    margin-right: 0;
}

在这个示例中,我们给导航栏的容器设置了position:stickytop:0。这样,当我们向下滚动页面时,导航栏就会“粘滞”在视窗的顶部,并且不会影响其他内容的展示。

注意事项

粘性定位的浏览器支持性还不是很完善,还需要加上浏览器兼容前缀-webkit-的声明,尤其是移动端的浏览器在支持上还有比较大的差异。并且需要注意的是,粘性定位属性只能应用在相对定位的元素上,即需要先给元素设置一个position:relative属性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:聊聊CSS粘性定位sticky案例解析 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • Bootstrap学习笔记之css样式设计(1)

    Bootstrap学习笔记之css样式设计(1) Bootstrap是一个流行的前端框架,提供了丰富的CSS和JavaScript组件,可以帮助开发者快速构建响应式网站。本攻略将详细讲解Bootstrap中的CSS样式设计,包括基本原理、使用方法和示例说明。 1. 基本原理 Bootstrap中的CSS样式设计基于LESS预处理器,使用了变量、混合器和嵌套等…

    css 2023年5月18日
    00
  • vue中关于@media媒体查询的使用

    当我们在使用 Vue 开发 Web 应用程序时,经常需要针对不同的屏幕尺寸进行布局和样式的调整。媒体查询(Media Queries)是一种很好的解决方案,它可以根据设备的屏幕尺寸自适应调整样式表的规则。在 Vue 中使用媒体查询也非常简单。 使用方式 在 Vue 中使用媒体查询,我们可以使用 @media 规则。这个规则可用于 CSS 样式表中,也可用于 …

    css 2023年6月10日
    00
  • CSS 清除浮动元素方法 整理

    CSS 清除浮动元素方法 整理 在进行网页布局的时候,我们会经常使用浮动元素来实现各种效果。但是浮动元素在布局过程中会带来一些问题,比如与其后面的元素重叠,导致布局混乱。因此,我们需要使用清除浮动来解决这些问题。 1. 浮动元素的问题 浮动元素会导致其后面的元素重叠,导致布局混乱。下面是一个例子: <div class="float&quot…

    css 2023年6月10日
    00
  • React 中使用 Redux 的 4 种写法小结

    React 中使用 Redux 的 4 种写法小结指的是在 React 中集成 Redux 的四种不同的方法。这四种方法分别是: 1.传统的用法(Traditional Way) 2.React-Redux 库的用法(Using React-Redux Library) 3.Redux Hooks 的用法(Using Redux Hooks) 4.Redux…

    css 2023年6月10日
    00
  • CSS3弹性盒模型开发笔记(一)

    以下是关于“CSS3弹性盒模型开发笔记(一)”的完整攻略: 1. CSS3弹性盒模型概述 CSS3弹性盒模型是一种用于布局设计的模型,它可以用于任何容器(包括块级和行内元素)中,并且可以解决多种布局问题。通过定义容器中弹性盒子的排列方式和对齐方式,我们可以实现更灵活的布局效果。 1.1 弹性容器和弹性项目 在使用弹性盒模型进行布局时,我们需要将元素包含在一个…

    css 2023年6月10日
    00
  • html5的新增的标签和废除的标签简要概述

    HTML5(Hyper Text Markup Language 5)是HTML(Hyper Text Markup Language)的第五个版本,它对之前版本的语言规范做了很多改进和增强。在HTML5中,新增了很多标签来帮助Web开发者更好地构建现代化、丰富多彩的网站。同时,也废除了一些不太常用、有性能问题或者安全隐患的标签。 新增标签 \<can…

    css 2023年6月10日
    00
  • CSS网格布局的示例代码

    下面是关于CSS网格布局的示例代码的完整攻略: 1. 什么是CSS网格布局 CSS网格布局是一种新的CSS布局方式,它可以使我们更方便地设置一个可响应式的网格布局,将网页划分为一个个网格,然后在这些网格中填充内容。CSS网格布局是CSS3中新增的一个模块,目前得到了现代浏览器的支持,并广泛使用于各种网站和应用中。 2. 如何使用CSS网格布局 要使用CSS网…

    css 2023年6月10日
    00
  • Ueditor和CKeditor 两款编辑器的使用与配置方法

    Ueditor和CKeditor 两款编辑器的使用与配置方法 一、Ueditor编辑器的使用和配置方法 1.1下载Ueditor源码 在Ueditor官网(http://ueditor.baidu.com/website/)下载Ueditor源码,解压后将ueditor文件夹拷贝到网站根目录 1.2引入UEDitor 在HTML文件里引入UEditor的相关…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部