47个CSS提示和技巧让你的网站更高级

1. 水平居中

要在 CSS 中水平居中块级元素,需要三件事:在元素上显式设置宽度,将左右边距设置为自动,并包括适当的文档类型以防止旧版本的 IE 进入怪癖模式。

div#page {width: 960px; margin: 0 auto}

上面的代码将会使id 为page的元素在div标签中水平居中。

2. 通过设置line-height来垂直居中文本

如果想要在一个高度固定的包含块中垂直居中文本,只需将文本的行高设置为与包含块的高度相同。

<div id="container">some text here</div>
div#container {height: 35px; line-height: 35px}

3. 垂直居中块级元素

定位可用于垂直居中块级元素

<div id="content">your content here</div>

div#content {position: absolute; top: 50%; height: 500px; margin-top: -250px}

div 的左上角将从顶部定位 50%(即,div的左上角距离顶部50%)。由于我们希望 div 的中心从顶部定位 50%,因此需要设置一个等于 div 高度一半的负上边距。
同样的技巧也可用于水平居中,把上换成左,把上边距换成左边距,然后将负边距设置为元素宽度的一半。

div#content {position: absolute; top: 50%; left:50%; width:800px; height: 500px; margin-left: -400px;  margin-top: -250px}

以上代码会让元素在水平和垂直方向上均居中。

4. 流体图像

要创建流体图像,将图像的最大宽度设置为 100%。

img {max-width:100% }

不幸的是,IE不做最大宽度。但是,IE 将宽度属性视为最大宽度。对于 IE,请使用条件注释和设置

img{width:100%;}

5. 纯CSS实现3D按钮效果

3D CSS 按钮易于创建,诀窍是给你的元素边框不同的颜色。使光源发光的地方更亮,不发光的地方更暗。

div#button {background: #888; border: 1px solid; border-color: #999 #777 #777 #999 }

上面的 CSS 将创建一个按钮,其光源位于左上角。通常只需要一两种颜色变化,但您可以尝试不同的效果。(若是结果不明显可以把border-width设置的稍微宽一些。)

6. CSS 字体速记

在字体属性上使用速记时,您需要按以下顺序指定每个属性

body { font: font-style font-variant font-weight font-size line-height font-family; }

你不需要包括每个属性,但请注意,对于任何你不包括的属性,该属性将重置为其默认值。

7. 在 HTML 元素上设置多个类

容易忘记正确的语法。如果要在 html 元素上设置多个类,它应如下所示:

<div class="class-1 class-2 class-3">
</div>

所有类名都位于同一组双引号中,每个类名之间都有空格。CSS 特异性由 CSS 文件中的类顺序控制。如果您的 CSS 具有:

class-2 {color: blue}
class-3 {color: green}
class-1 {color: red}

那么,div中的文本将显示红色,因为class-1是CSS中最后一个声明的,与类名在html元素中的顺序无关。

8. 圆角

CSS3中实现圆角非常简单:

.element {border-radius:5px }

以上代码会在元素四个角设置一个5px的半径。现在,我们需要一些浏览器特定的CSS与一个小JavaScript相结合,使这项工作在所有浏览器中工作。

.element {
    border-radius: 5px
    -webkit-border-radius: 5px
    -moz-border-radius: 5px
}

Webkit 和 Mozilla 在指定一个角时使用不同的语法。

.element {
    border-top-left-radius: 5px
    -webkit-border-top-left-radius: 5px
    -moz-border-radius-top-left
}

对于非 Webkit 和 Mozilla 浏览器,一个小 jQuery 插件将模仿边框半径属性。

$(".element").corner("5px");

jQuery 角插件允许的不仅仅是设置角的半径。您还可以将拐角设置为显示为许多其他模式。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vonRsFEt-1572329065607)(./1571678812628.png)]

现在所有的浏览器都已经支持

9. 链接样式顺序

在不同链接状态上设置 CSS 时,需要按特定顺序设置链接状态。

a:link
a:visited
a:hover
a:active

一个简单的记忆方式是:LoVe HAte . LVHA - Link, Visited, Hover, Active

10. 清除和包含浮动

有两种基本的方式清除浮动,第一种是通过clear属性。

<div id="wrapper">
<div id="header"></div>
<div id="content"></div>
<div id="sidebar"></div>
<div id="footer"></div>
</div>

在上述 html 中,我们将内容和侧边栏 div 浮动到左侧,并且我们希望确保页脚 div 位于两者下方。因此将使用清除属性.

#content {float:left}
#sidebar{float:left}
#footer{clear:both}

还可以使用clear:left 或 clear:right, 这取决于内容和侧边栏的浮动方式。

如果另一方面,你的 html 是:

<div id="header">
    <img id="logo" src="" alt="">
<p id="tagline">
</p></div>

并且tagline 和 logo 都是浮动的,您的标题 div 将折叠并显示为具有 0 高度。(因为把元素设置为float后,该元素就脱离了正常文本流,而他们的父元素div却未脱离,仍在正常文本流中显示,但此时div的内容为空,因此div的高度为0)您可以添加空 div (< div class="clear"> < /div>),然后如上文清除空 div,也可以使用标题 div 上的溢出属性来包含浮动元素

div#header {overflow: hidden}

上面将防止标题 div 折叠,即使其中的所有内容都已浮动。
元素包含浮动元素涉及到BFC(块级格式化上下文)规则,更多的方法可查询有关BFC的内容

11. 条件注释

条件注释是仅针对 IE 浏览器的理想方式,因为 IE 通常是不合作的浏览器。条件注释的基本形式是:

<!--[if IE]>
<link rel="stylesheet" type="text/css" href="ie-stylesheet.css" />
< ![endif]-->

仅当查看页面的浏览器是 Internet Explorer 时,才会加载上述样式表。您可以进一步定位 IE 的特定版本。

<!--[if IE 6]> - targets IE6 only -->
<!--[if gt IE 6]> - targets IE7 and above -->
<!--[if lt IE 6]> - targets IE5.5 and below -->
<!--[if gte IE 6]> - targets IE6 and above -->
<!--[if lte IE 6]> - targets IE6 and below -->

您可以指定 Internet 资源管理器的任何版本,并且通过条件注释的组合,可以将不同的 CSS 样式服务器到不同版本的 IE。

12. IE中的 HTML Hack

另一种专门针对 IE 的方法是使用 HTML * hack 。Internet Explorer 允许您使用 html 元素以外的内容作为文档的根。通过在 CSS (* html) 中放在 html 前面放置一个 *,您只能将 IE 作为目标,因为其他浏览器将忽略该声明。

div#content {width: 580px}
* html body div#content {width: 600px}

IE 将使用 600px 作为内容 div 的宽度,而其他浏览器将使用 580px。
以上适用于 IE6 及以下部分。当不在标准模式,但在怪癖模式,这将在IE7工作。您还可以针对 IE7(在怪癖模式下),具体到

*+html body div#content {width: 620px}

13. CSS的特殊性

当两个或多个 CSS 选择器向单个 html 元素发送冲突指令时,必须选择应用哪些样式。这是通过CSS特异性计算完成的,以(a,b,c,d)的形式表示

  • 元素 伪元素 : d = 1 ---- (0,0,0,1)
  • 类,伪类,属性:c = 1 ---- (0,0,1,0)
  • id 选择器 : b = 1 ---------(0,1,0,0)
  • 内联样式 : a = 1 ----------(1,0,0,0)
    CSS特殊性比较方式 :

每一个样式都可以以上面的形式表示(即,(0,0,1,0)等),对于作用于同一元素的不同样式,通过逐个比较他们各自的特殊性中的a,b,c,d来判断哪一个会被应用。若是在某一位存在大小关系,则停止比较。 假设两个作用于同于元素的样式的特殊性分别为(1,0,0,0) 和(0,2,3,4)。由于第一个a为1,第二个a为0,因此比较完a后,即停止比较,即使第二个样式的b,c,d大。只有前面的一位相同时,才会接着比较下一位。

在以下示例中,随着您向下移动,特异性增加

p: 1 element – (0,0,0,1)
div: 1 element – (0,0,0,1)
#sidebar: 1 id – (0,1,0,0)
div#sidebar: 1 element, 1 id – (0,1,0,1)
div#sidebar p: 2 elements, 1 id – (0,1,0,2)
div#sidebar p.bio: 2 elements, 1 class, 1 id – (0,1,1,2)

14. IE 的最小高度修复

令人悲伤的是,IE仍然不符合最小高度。但是,它确实将高度属性视为最小高度。知道这一点,我们可以在InternetExplorer中工作到最低高度。

.element {
    min-height: 500px
    height: auto !important
    height: 500px
}

上面的第一行设置非 IE 浏览器的最小高度。最后一行基本上在 IE 中设置最小高度,因为 IE 会像我们期望的那样处理最小高度。上面的中线是为了确保非 IE 浏览器不使用 500px 作为元素的高度。使用 ! important 将在除 IE 之外的所有浏览器中覆盖下面的高度声明。
仅针对 IE 的另一种方法是使用 _height。只有 IE6 会将 _ 高度视为高度。所有其他浏览器将忽略它。您必须在任何高度声明后指定 _height,因为 IE 将使用最后一个条件。

.element {
   min-height: 500px
    _height: 500px
}

15. 基本字体大小

在字体上使用"em"或%等流体测量是帮助创建更多流体设计的好方法。计算每个不同元素的"em"可能很痛苦。一个简单的技巧是将基本字体设置为等效于 10px。由于浏览器的默认字体大小为 16px,因此您可以设置以下基本字体大小:

body {font-size:62.5%}

10/16 = 62.5%

现在,如果你想你的h1是24px, 那么计算则容易得多

h1 {font-size: 2.4 em}

16. 100% 高度

100%的高度是CSS不容易做到的事情之一。当您指定一个元素的高度为100%时,100%指的是包含元素的高度。然后,包含元素的高度必须是它的包含元素的高度的100%,以此类推。技巧是将最外层元素的高度设置为100%

html, body {height: 100%}

我还要补充一件事。如果你的内容超过100%的高度,那么它将溢出其容器。为了纠正这个错误,我们需要在内容容器上设置最小高度

#content {min-height: 100%}

您可以使用上述方法之一为 IE 提供最小高度。

17. CSS首字下沉

利用CSS伪元素 :first-letter 可以轻松实现首字下沉效果

p:first-letter {
    display: block;
    float: left;
    margin: 5px 5px 0 0;
    color: red
    font-size: 1.4em;
    background: #ddd;
    font-family: Helvetica;
}

这应该适用于所有现代浏览器。CSS3 引入了 ::first-letter 表示法来区分伪元素和伪类,现在基本所有的新的浏览器均已支持,也可表示成 :first-letter

18. 删除链接上的点状轮廓

易于使用 CSS outline属性来设置。

a {outline: none} or a {outline: 0}

outline对于辅助功能很有用,因此在完全关闭之前,应三思而行。您可能只想为上述特定链接状态之一设置它。

19. 文本大小写转换

通过 CSS text-transform 属性,您可以确保某些文本块是大写、小写或只有每个单词的第一个字母是大写

p {text-transform: uppercase}
p {text-transform: lowercase}
p {text-transform: capitalize}

20. 字体变体

类型的另一个技巧是使用font-variant属性创建小写字母

p {font-variant: small-caps}

你使用的字体没有小大写字母的变化,你要知道你要创建的是伪小大写字母,可能看起来不像你想的那么好,也可能不像你想的那么好。

21. 从图像链接中删除边框

默认情况下,在链接中包装的任何图像周围都有一个边框(类似于文本加下划线的方式)。删除边框很简单:

a image {border: none} or a image {border: 0}

由于我从不希望看到图片链接周围的边框,我通常在我开发的每个站点上设置上面的边框。

22. 使用 CSS 重置进行跨浏览器兼容性

跨浏览器 Web 开发中的一个问题是,不同的浏览器对各种 CSS 属性使用不同的默认值。通过将某些 html 元素的边距等属性显式设置为 0,我们可以确保所有浏览器中该元素的边距为 0。
最好的方法是使用CSS重置文件,如埃里克迈耶或雅虎开发的那些,或者你可以开发自己的。
使用 CSS 重置可确保所有浏览器都位于同一页面上。

23. 在背景图像上设置填充

由于背景图像不会创建新的 CSS 框,因此无法直接在它们上设置填充。您要做的是使用背景图像上的背景位置属性创建相同的效果。

background-position {top-value left-value}

top-value 可以是 top,center 或者是 left . left-value 可以是 left, center, 或者是 bottom
两者还可以采用 %或 px 或任何其他度量值。因此,要围绕背景图像创建 5px 的填充,请使用:

{background-position: 5px 5px}

24. 拉伸背景图像

要创建可以展开和收缩其包含元素的背景图像,您需要创建一个大于所需、足够大的映像,以容纳包含元素的最大大小。然后使用背景位置属性将背景图像居中

{background-position: 50% 50%}

上述内容将在包含元素中居中显示背景图像。图像将增大和收缩以适合包含元素的大小,并且始终居中。您需要确保图像的中心包含图像最重要的部分,因为只有中心才能保证显示。

25. 环绕背景图像的链接

同样,由于背景图像不创建新的 CSS 框,因此不能直接环绕链接。您可以将链接环绕在包含元素周围,也可以将链接环绕在包含元素中的所有内容周围。

<a href="">
<div id="bkgd-image">
your content here
</div>
</a>
<div><a href="">
your content here
</a></div>

以上任何一种基本上都会让人点击您的背景图像,就好像它是一个链接一样。

26. 背景图像作为列表项目符号
在这里插入图片描述

有时,能够将图像用作项目符号而不是支持的list-style-type 之一是很好的。

ul {list-style: none}
ul li {
    background-image: url("path-to-your-image");
    background-repeat: none;
    background-position: 0 0.5em;
}

27. 悬停时改变背景图像

有两种非常相似的方法来实现这一点。两者的关键是使用 :hover 伪类来更改图像的 URL 或图像子画面的位置

.element {background-image: url("path-to-an-image")}
.element:hover {background-image: url("path-to-a-different-image")}

//2
.element {background-position: top-value left-value}
.element:hover {background-position: different-top-value different-left-value
}

28. Visibility or Display?

表面上,CSS 可见性和显示属性似乎都执行相同的操作,隐藏或显示页面上的元素。在表面之下,它们的工作方式不同

  • {visibility: hidden} 元素占用空间,但不显示
  • {display: none} 元素不占用空间,其他元素折叠以填充空间

就是说,display:none 是完全消失,不会占用网页空间,visibility:hidden 只是隐藏起来了,但是他的位置还保留着,只是会在网页上他的位置上为空白
大部分时间,你可能想要用的是 dispaly:none , 除非你的目的是在你的网页上留一个空白,此时用visibility:hidden 。

29. 跨浏览器透明度

当我们使用CSS3属性时,比如opacity。大部分较新的浏览器都支持这个属性,但如果想要把这个属性应用于所有浏览器(包括非常古老的),那么就要加上一些特殊的前缀。

.element { 
    filter:alpha(opacity=50); 
    -moz-opacity:0.5; 
    -khtml-opacity: 0.5; 
    opacity: 0.5; 
}

从下往上看:

  • -moz-opacity :用于老式Mozilla 浏览器
  • -khtml-opacity 用于老式的Safari浏览器以及任何使用khtml渲染引擎的浏览器
  • filter:alpha(opacity = 50) 用于 IE浏览器

现在所有浏览器均已支持filter属性

30. 目标 IE7(及以下)和 IE6(具体)无条件注释

我们都知道,当涉及到CSS时,IE有时会有多困难。然而,您可以轻松地编写其他浏览器会忽略的 IE 特定代码,而不是用呼吸或大声骂骂 IE。我自己的偏好是条件注释,但这里有一个快速技巧,您可以在主 CSS 文件中使用。

.element {
    background: red; /* modern browsers */
    *background: green; /* IE 7 and below */
    _background: blue; /* IE6 exclusively */
}

除 IE 外,所有浏览器都将忽略属性前面的星号。IE6 以外的所有内容都将忽略下划线。由于 CSS 优先级规则,上述属性的顺序非常重要。

31. nth-child

nth-child CSS 伪选择器允许您定位列表中的第 3 个或第 7 个或第 n 个元素。另一种用途是以不同的方式设置表中的奇数行和偶数行的样式。另一种方法是专门向列表项添加类,以不同方式设置样式,但这不是非常灵活。第 nth-child 语法如下所示:

ul li:nth-child(3) {
    background: blue
}

上面将选择列表中的第三个项目,并给它一个蓝色背景

ul li:nth-child(3n+3) {
    background: blue
}

同样,上面的代码将设置带有蓝色背景的每个第三个列表项的样式


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sssmA0WP-1572329065616)(./1572325617111.png)]

32. 基本 2 列 CSS 布局(固定宽度、居中、页眉和页脚,右侧侧边栏)

<div id="wrapper">
    <div id="header">
    </div>
   <div id="content">
   </div>
    <div id="sidebar">
    </div>
    <div id="footer">
    </div>
</div>

#wrapper {width:960px; margin:0 auto}
#content {float:left; width:600px}
#sidebar {float:left; width:360px}
#footer {clear: both}

特定宽度是任意的,但必须包括宽度。按键将包装器居中,如本文所述,浮动两列,并清除页脚 div。您还可以将侧边栏 div 浮动到右侧。这两种操作都不起作用,尽管我发现在同一个方向上浮动更容易。

现在更支持使用HTML语义化,< footer > < article > < aside >等标签

33. 基本 3 列 CSS 布局(固定宽度、居中、页眉和页脚、内容左右侧边栏)

<div id="wrapper">
    <div id="header">
    </div>
    <div id="primary">
    </div>
    <div id="content">
    </div>
    <div id="secondary">
    </div>
    <div id="footer">
    </div>
</div>

#wrapper {width:960px; margin:0 auto}
#primary {float:left; width:230px}
#content {float:left; width:500px}
#secondary {float:left; width:230px}
#footer {clear: both}

同样,宽度是任意的,但是必需的。如果您愿意,可以将辅助 div 浮动到右侧。

现在关于CSS布局有了更多的方式,比如flex灵活布局,grid网格布局都非常的便捷,推荐看 阮一峰老师 的博客

34. CSS 三角形和其他形状

CSS 边框以任意角落的一个角度汇聚在一起。当在所有边上设置颜色相同的边框或边框宽度只有几个 px 时,这一点并不明显。使宽度更大,并在不同的边上设置不同的边框颜色,可以清楚地看到这一点。利用这些角度,我们可以使用边框属性来创建一些有趣的形状。

创建三角形是将 4 个边中的 3 个上的边框颜色设置为透明。您还希望将元素的宽度和高度设置为 0,以便所有 4 个角在一个点上相接。也可以将三角形对面的边框设置为 0,但相邻边框需要保持宽度,否则具有边框的整个元素将折叠到单个点。

<div class="triangle"></div>

.triangle {
    border-color: transparent transparent green transparent;
    border-style: solid;
    border-width: 0px 300px 300px 300px;
    height: 0px;
    width: 0px;
}

通过一点实验,您可以创建有趣的形状,特别是结合多个元素时。

35. 防止换行

有时,链接或标题中的文本会中断您不希望它出现的位置。防止这种情况的一个简单方法是:

h1 { white-space:nowrap; }

36. class vs id

对在页面上使用一次且仅一次的元素使用 Id

<div id="content"></div>
#content {background: #fff}

对可在页面上重复使用的元素使用类

<p class="large-text">
</p>

.large-text {font-size: 1.4em}

37. 将文本替换为图像

通过更多的字体选择更好的排版是在这里,但在实践中使用它仍然有限制。有时最简单的解决方案是使用图像。但是,您也希望搜索引擎和屏幕阅读器的原始文本存在。同时使用文本和图像的一种简单方法是使用文本缩进属性。

h1 {
    text-indent:-9999px;
    background:url("h1-image.jpg") no-repeat;
    width:200px;
    height:50px;
}

高度和宽度应与图像的高度和宽度相匹配

38. 为窗体中具有焦点的元素设置样式

一个不错的可用性提示是让人们填写表单,知道哪些输入当前具有焦点。您可以使用 :focus 伪选择器轻松执行此操作

input:focus { border: 2px solid green; }

这样,您的用户将确切知道哪个字段可供输入

39. 理解 !important

!important 是一种覆盖CSS特性的方法。一般来说,这不是最好的解决方案,因为您使用它的次数越多,最终需要再次使用它的次数就越多。它会使您的CSS在短时间内无法维护。由于IE的一个怪癖,他可以派上用场。你有如下的东西:

h1 {
    color: red !important;
    color: blue
}

浏览器应该用红色显示h1。然而,IE将显示最后的样式,而不是遵循优先规则。因此,上面的代码将显示你的h1在所有的浏览器,除了IE的颜色将是蓝色。

40. CSS 中的简单调试

有时,您的 CSS 似乎不像您预期的那样工作,您希望在 html 中隔离一个元素,以查看它占用了什么空间。执行此操作的一个简单方法是暂时为元素提供边框

.element {border:1px solid red}

上述缺点之一是边框中的额外 px 可能会暂时使布局失控,因为它会增加元素的宽度。例如,您可能会发现,它有时将浮动元素从页面的更下处掉落。不过,它仍然是一种快速而简单的方法来查看发生了什么,您可以克服宽度限制,方法是暂时减小为元素提供的宽度,以补偿边框添加的额外宽度。

41. 为图像创建一个CSS框架

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PDllYvlU-1572329065618)(./1572327598110.png)]

许多图片看起来很不错的一个框架。你通常会在把图片挂在墙上之前把它们框起来,所以为什么不在你的网站上给图片加一个框呢?就像你可以看到的一样,每一篇文章的图片都是在instantShift上用修改过的verion来框起来的。

方法是把你的图像包在一个div中,并添加一个简单的类。

<div class="frame"><img src="" alt="" height="" width=""></div>
.frame {
    border: 2px ridge #000;
     padding: 10px;
   background-color: #fff;
}

.frame img {
    border: 2px solid #ooo;
    padding: 1px;
     margin: 10px;
}

您可以使用各种边框样式值来创建框架的不同外观(凹槽、脊、内分、开始、双、虚线、虚线、实体)。框架 div 上的填充和背景颜色将创建图像周围的垫子外观。向图像本身添加边框、填充和边距可以创建在图像周围设置第二个垫子的效果,从而获得额外的效果。

设置完成后,您需要执行的所有操作,将帧添加到任何图像中,只需将其与 div 环绕并分配类。您甚至可以创建几种不同的框架样式,然后选择用于每个图像的样式。

42. 移动特定样式表

随着越来越多的人通过智能手机和其他移动设备访问网络,我们需要确保我们的网站在不同的平台上显示良好。幸运的是,html 允许您为移动设备提供不同的样式表。

<link type="text/css" rel="stylesheet" href="handheldstyle.css" media="handheld">

43. 通过CSS的凸版印刷类型

基本思想是利用CSS3属性的文本阴影来创建凸版印刷效果。

.element {
    color: #222;
    text-shadow: 0px 2px 3px #555;
}

技巧是使用比文本颜色更亮的阴影颜色,然后偏移一点,添加一点模糊。上面的文本阴影属性值是:

text-shadow: x-offset y-offset blur color;

44. 设置打印分页符

有些人想打印您的页面,而您可能希望您的页面以更具可读性的形式打印。例如,您可能在一个页面上有一个数据表,您希望将整个表打印在一个页面上,而不是将表的一半印在一个页面的底部,另一半印在下一个页面的顶部。CSS提供了一种方法,在某些地方强制分页,在其他地方禁止分页。

首先,您需要通过@media print将您的样式直接发送到打印媒体

<style type="text/css">
@media print
table {page-break-inside: avoid}
</style>

以上将告诉打印机做什么,他们不能打破表超过两页。CSS总共提供了3个与打印分页符相关的属性。括号中的可能值。

  • page-break-before (auto, always, avoid, left, right, inherit)

  • page-break-after (auto, always, avoid, left, right, inherit)

  • page-break-inside (auto, avoid, inherit)

45. 创建带有边框半径的圆

可以使用CSS2 border-radius属性在所有支持该属性的浏览器中创建圆。技巧是设置元素的高度和宽度,使它们相同,并将元素的边界半径设置为该值的一半。

.cirlce {
            width: 300px;
            height: 300px;
            background-color: red;
            border-radius: 150px;
            -moz-border-radius: 150px;
            -webkit-border-radius: 150px;
        }
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wbG2vKTQ-1572329065620)(./1572328471319.png)]

46. CSS工具提示

您可以使用几行代码轻松创建轻量级 CSS 跨浏览器工具提示。

This is the <a class="tooltip" href="#">Tooltip Link<span>This will be the text that shows up in the tooltip</span></a> You can place any text you want here.

a.tooltip {position: relative}
a.tooltip span {display:none; padding:5px; width:200px;}
a:hover {background:#fff;} /*background-color is a must for IE6*/
a.tooltip:hover span{display:inline;  position:absolute;}

您可以向上面添加更多样式,以适合您的设计。键是范围设置为display:none,直到你将鼠标悬停在链接上。将鼠标悬停在链接上时,显示屏将更改为内联显示,并给出绝对位置。位置:链接上需要相对位置,以确保工具提示相对于链接而不是另一个包含元素的位置。

47. 创建固定标头

您可能希望保留标题,将徽标和导航固定到位,并且仅让下面的内容滚动,而不是让整个页面滚动。

<div id="header">header </div>
<div id="content">content </div>

#header { 
   position:fixed; 
}

您希望确保将标头和内容 div 分开,然后在标题上使用display:fixed。您可以尝试的其他想法是创建一个可滚动表,该表在页面中具有固定页眉,或同时固定页眉和页脚,同时允许内容在它们之间滚动。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,265评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,078评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,852评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,408评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,445评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,772评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,921评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,688评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,130评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,467评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,617评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,276评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,882评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,740评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,967评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,315评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,486评论 2 348

推荐阅读更多精彩内容

  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 3,858评论 0 0
  • 1.块级元素和行内元素 块级(block-level)元素;行内(内联、inline-level)元素。 块元素的...
    饥人谷_小侯阅读 1,989评论 1 4
  • CSS 指层叠样式表(Cascading Style Sheets),是一种用来为结构化文档(如 HTML 文档或...
    神齐阅读 2,084评论 0 14
  • 学习CSS的最佳网站没有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_阅读 1,033评论 0 1
  • 20个让你效率更高的CSS代码技巧 前端速报1周前 在这里想与你分享一个由各大CSS网站总结推荐的20个有用的规则...
    X秀秀阅读 145评论 0 0