整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

web前端tips:CSS之sticky粘滞效果

web前端tips:CSS之sticky粘滞效果

ticky介绍

Sticky是CSS3的一个定位属性,它可以让元素在滚动过程中“粘”在屏幕上的某个位置,直到滚动到某个临界点后才会跟随滚动。Sticky定位可以使得页面更具交互性和易用性,也提高了页面的可读性。 Sticky定位可以通过以下代码实现:

position: sticky;top: 0;

其中,top属性定义了元素“粘”在屏幕上的位置。当元素到达指定位置时,它将会变成固定定位,直到滚动到指定位置后才会解除固定定位。 Sticky定位的特点:

  1. 当元素被滚动到达指定位置时,它会变成固定定位,直到滚动到指定位置后才会解除固定定位。

  2. Sticky定位可以让元素在滚动过程中保持在屏幕上的某个位置,这提高了页面的可读性和易用性。

  3. Sticky定位可以和其他定位属性(如top、bottom、left、right)结合使用,从而实现更加复杂的布局效果。

实现一个高度能自动变小的吸附需求

场景:客户需要这样一个动态效果,就是网站的顶部导航栏在未触及到页面顶部时,它的高度为 100px ,随着页面向下滚动,顶部导航栏在触及页面顶部时,保持在页面顶部显示,当页面继续向下滚动时,顶部导航栏导航栏随滚动减少高度,直到高度减少到50px时不再继续减少。
在以前:我们基本使用js来实现此效果,基本原理就是监听滚动条,计算滚动距离,动态赋值高度和样式。
在现在:我们直接使用 position: sticky; 即可实现此效果:

<div class="header">
    <div class="header2">
	这是吸附
    </div>
</div>
.header {
    position: sticky;
    top: -50px;
    width: 100%;
    height: 100px;
    background-color: #f0f;
}
.header2 {
    position: sticky;
    top: 0;
    background-color: rgba(25,25,25,.5);
    height: 50px;
}

是不是很简单就能实现此效果啦,相比js一大堆逻辑代码, position: sticky; 可简洁的不是一点两点啦

兼容性

可见,对现代浏览器,兼容还是不错哒,当然老项目ie浏览器还是只有乖乖的写js啦

结语

牵手 持续为你分享各类知识和软件 ,欢迎访问、关注、讨论 并留下你的小心心?

TML 基础- 4个实例

本章介绍了 HTML 中较为常用的标签的实例。

您可能还没接触过这些实例,不过不用担心,阅读完本章您就能够掌握它们了!

HTML 标题

HTML 标题(Heading)是通过<h1> - <h6> 标签来定义的。

h 是英文header标题的缩写,标题无处不在,它的应用范围十分广泛:网站结构、写作文、PPT 等。h1 是主标题,h2 是副标题,h3、h4、h5、h6 依次递减字体的大小。

实例

<h1>这是一个标题</h1>

<h2>这是一个标题</h2>

<h3>这是一个标题</h3>

HTML 段落

HTML 段落是通过标签 <p> 来定义的,P 是英文paragraph段落的缩写,经常被用来创建一个段落,就和你写作文一样,您可以进行实战实验。

实例

<p>这是一个段落。</p>

<p>这是另外一个段落。</p>

HTML 链接

HTML 链接是通过标签 <a> 来定义的.a标签,也叫anchor(锚点)元素,既可以用来链接到外部地址实现页面跳转功能,也可以链接到当前页面的某部分实现内部导航功能。

实例

<a href="#">这是一个链接</a>

提示:在 href 属性中指定链接的地址。

(您将在本教程稍后的章节中学习更多有关属性的知识)。

HTML 图像

HTML 图像是通过标签 <img> 来定义的。使用img元素来为你的网站添加图片,使用src属性指向一个图片的具体地址。

举例如下:<img src="#">

请注意:img元素是自关闭元素,不需要结束标记。

实例

<img src="#" width="104" height="142">

注意: 图像的名称和尺寸是以属性的形式提供的。

  • 本文为 HTML 基础教程第六章,下一章:HTML元素

【小提示】tips:本文由数据微学院作者原创,转载请注明来源或联系作者。更多优秀参考好文请关注【数据微学院】360doc个人图书馆。

OCTYPE

DOCTYPE(Document Type)该声明处于dw文档中最前面的位置,处于html标签之前,此标签告知浏览器文档使用哪种HTML或者 XHTML规范。

DTD(Document Type Definition)声明以<!DOCTYPE>开始,不区分大小写,前面没有任何内容,如果有其他内容(空格除外)会使浏览器在IE下开启怪异模式(quirks mode)渲染网页。公共DTD,名称格式为注册//组织//类型 标签//语言,注册指组织是否由国际标准化组织(ISO)注册,+表示是,-表示不是。组织即组织名称,如:W3C。类型一般是 DTD。标签是指定公开文本描述,即对所引用的公开文本的唯一描述性名称,后面可附带版本号。最后语言是DTD语言的ISO 639语言标识符,如:EN表示英文,ZH表示中文。XHTML 1.0 可声明三种DTD 类型。分别表示严格版本,过渡版本,以及基于框架的HTML文档。

HTML 4.01 strict

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

HTML 4.01 Transitional

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

HTML 4.01 Frameset

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

·

HTML5文档类型

<!DOCTYPE html><!-- 使用 HTML5 doctype,不区分大小写 -->

meta

声明文档使用的字符编码

html5之前<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

html5<meta charset="utf-8">

follow 跟踪链接并分析目标网页。这是默认行为,并且可忽略。

index 将网页编入索引。这是默认行为,并且可忽略。

noodp 不使用 Open Directory Project 来创建内容描述。

noydir 不使用 Yahoo Directory 来创建内容描述。

noarchive 不允许搜索引擎显示内容的缓存版本。

cache 允许搜索引擎显示内容的缓存版本。

nocache 不允许搜索引擎显示内容的缓存版本。

标签

定义文档的结构,使文档的标记更加语义化。

html5 demo

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>html5 demo</title>

</head>

<body>

<header>

<h1>html5 demo</h1>

<nav>

<ul>

<li>nav1</li>

<li>nav2</li>

</ul>

</nav>

<div>

<ul>

<li></li><

</ul>

<dl>

<dd></dd>

<dt></dt>

</dl>

</div>

</header>

<section>

<h1>article aside</h1>

<article>article</article>

<aside>aside</aside>

<section>

<footer>footer</footer>

</body>

</html>

tips

1. html5标签更加丰富和完善,div标签似乎没有什么用武之地,但是如果仅仅想在文档中加入一段样式,这个时候div标签便派上用场了。

2. 标签在不同浏览器默认样式会有一些区别,为了一个网页在不同浏览器中看到的效果一样,通常要先格式化一下标签的样式

3.如果要在不支持html5的浏览器中使用html5标签,需要加一小段JavaScript代码

4.标签可编辑属性contenteditable