资讯专栏INFORMATION COLUMN

CSS学习摘要-定位实例

kuangcaibao / 3408人阅读

摘要:学习摘要定位实例学习摘要定位实例注全文摘自定位实例列表消息盒子列表消息盒子我们研究的第一个例子是一个经典的选项卡消息框,你想用一块小区域包括大量信息时,一个非常常用的特征。删除你的不需要居中显示,添加定位调整属性把她粘在浏览器的视域。

CSS学习摘要-定位实例

注:全文摘自MDN-CSS定位实例

列表消息盒子

我们研究的第一个例子是一个经典的选项卡消息框,你想用一块小区域包括大量信息时,一个非常常用的特征。这包括含有大信息量的应用,比如策略战争游戏,比如从移动版的网页,屏幕狭小、空间有限;比如你可能想要放置许多信息的紧凑消息框,不用就会充满整个UI。我们简单的例子完成后就会像下面这样:

注意: 你能看完整的示例,可运行在 info-box.html (source code)。检出它以理解你在本文章里要建立什么。

你可能会想:”为什么不仅仅做独立的选项卡为一个独立的网页,然后通过点击不同的标签来在不同的页面跳转来达到这个效果?“这样代码可能会简单一些,是的。但是这样每个独立的”页面“视图将会实际上是一个新加载的网页,跨视图更难保存信息,并把这个特征融入一个更大的UI设计。另外,所谓的”单页应用“正在变得非常流行——尤其是移动网页UI——因为把一切的服务放在一个多带带的文件上可以减少HTTP请求的数量来浏览所有内容,从而提高性能。

注意: 一些网络开发者甚至更超前,每次只加载一页的信息,并且使用JavaScript诸如 XMLHttpRequest特征动态改变信息显示。在你学习的此刻,然而,我们希望尽可能保持简单。接下来有一些JavaScript,但是只有一点。

在开始之前,我们需要你拷贝文件到本地,当作起始的HTML文件—— info-box-start.html. 保存到你的计算机合适的位置,然后在你的编辑器里打开。让我们看看包含在 body 里的HTML代码:

The first tab

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque turpis nibh, porttitor nec venenatis eu, pulvinar in augue. Vestibulum et orci scelerisque, vulputate tellus quis, lobortis dui. Vivamus varius libero at ipsum mattis efficitur ut nec nisl. Nullam eget tincidunt metus. Donec ultrices, urna maximus consequat aliquet, dui neque eleifend lorem, a auctor libero turpis at sem. Aliquam ut porttitor urna. Nulla facilisi.

The second tab

This tab hasn"t got any Lorem Ipsum in it. But the content isn"t very exciting all the same.

The third tab

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque turpis nibh, porttitor nec venenatis eu, pulvinar in augue. And now an ordered list: how exciting!

  1. dui neque eleifend lorem, a auctor libero turpis at sem.
  2. Aliquam ut porttitor urna.
  3. Nulla facilisi

这样我们已经得到了一个

元素带有类(class)为 info-box。此元素又包含一个
    和一个
    。无序列表包含三个列表项,列表项有链接在内,实际上将成为用于点击后显示内容面板的选项卡。 div 包含三个
    (
    元素表示文档、页面、应用或网站中的独立结构,其意在成为可独立分配的或可复用的结构,如在发布中,它可能是论坛帖子、杂志或新闻文章、博客、用户提交的评论、交互式组件,或者其他独立的内容项目。) 元素,构成对应于每个选项卡的内容面板。 每个面板包含一些示例内容。

    这里的思路是我们将样式化选项卡看起来是一个标准的水平导航菜单,使用绝对定位样式化面板互相坐落其顶上。我们也给你一点JavaScript包含到你的页面上,当选项卡被按下时,显示对应的面板,并且样式化选项卡本身。你不需要在这个阶段了解JavaScript本身,但是你应该尽快学习一些基本的 JavaScript——你的用户界面越复杂,越需要一些JavaScript来实现你渴望的功能。

    一般设置

    开始前,在

    这个例子并没有用先前的例子,所以我们需要一个新的开始文件。让我们来仔细观察一下这个HTML文件:

    
    
    

    //label的 for属性规定label属性绑定到哪个表单元素。

    开始,我们看到了一个label 元素和input元素——元素普遍用来联系文字标签和表单,目的是能更好的理解表单(允许用户查看表单元素的描述)。这里通过for属性绑定id到了标签的checkbox元素。

    提示:我们已经设置了一个特殊的问题标记特性到我们的HTML中,来当作我们的信息图标——这代表着这个按钮将可以按下显示或隐藏面板。

    现在我们使用这些元素稍稍不同的目的——另一个标签有副作用使你能通过点击checkbox的label标签来选择这个checkbox,就好像点击了这个checkbox自己一样。这就会实现有名的checkbox hack 技术,可以提供无JS的方法来控制一个元素,通过一个按钮的联系。我们将控制的元素使aside元素,通过其他两个(为了简洁起见,我们已将其内容从上述代码列表中删除)。

    在下面的部分我们将解释这一切如何运作。

    设置表单元素样式

    首先让我们处理表单元素 - 在style标签之间添加以下CSS:

    label[for="toggle"] {
      font-size: 3rem;
      position: absolute;
      top: 4px;
      right: 5px;
      z-index: 1;
      cursor: pointer;
    }
    
    input[type="checkbox"] {
      position: absolute;
      top: -100px;
    }
    • 第一条label样式的规则,我们有:

      • 设置字体大小使图标更美观。

      • 设置为绝对定位,使用top属性和right属性来让他能很合适的位于右上角。

      • 设置z-index属性为1——因此当信息面板被赋予样式和显示的时候,不会覆盖我们的图标;相反图标依然会位于最上层能够再次被按下来隐藏信息平板。

      • 使用cursor属性来说改变鼠标的指针,当鼠标悬浮在图标上面的时候变成一个手形指针(就像你看到的当悬浮在链接上一样),作为一个额外的可视化线索告诉用户这个图标可以做一些有趣的事情。

    • 第二条规则是在实际的checkbox元素上设置绝对定位属性,并隐藏在顶部的上面,我们并不希望在我们的用户界面里看到她。

    设置面板的样式

    现在是时候为实际的滑动面板设计风格了。在你的css底部添加下列规则:

    aside {
      background-color: #a60000;
      color: white;
    
      width: 340px;
      height: 98%;
      padding: 10px 1%;
    
      position: fixed;
      top: 0;
      right: -370px;
    
      transition: 0.6s all;
    }

    这里有很多项——让我们一点一点讨论:

    • 首先,我们在信息盒子中设置了一些简单的背景颜色和颜色。

    • 然后,我们在面板上设置一个固定的宽度,让她的高度充满整个浏览器窗口的高度。

    • 我们同样包括一些内边距来组成我们小于那个要的高度和宽度总体的值(如果我们没有设置box-sizing:border-box来说的话是很必要的,正如这个例子)

    • 然后,我们设置面板的定位为fixed,即使页面的内容在滚动,也总是显示在同一个位置。我们把设置top属性让窗口粘在顶部,然后设置默认情况下远离屏幕,设置right属性使其位于屏幕的右边。

    • 最后我们设置transition属性,Transitions是一个有意思的特性,允许你在状态改变的时候平滑的过渡,而不是粗暴的“变”或“还原”。在这个例子中我们尝试在checkbox被选中时让面板平滑的滑动到屏幕上。(或者换句话说,当问题标记图标被点击以后——记住,点击

    设置选择后的状态

    这是最后的css添加——把这些放到你的css底部:

    input[type=checkbox]:checked + aside {
      right: 0px;
    }

    这里的选择器是复杂的——我们选择元素邻接的

    文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

    转载请注明本文地址:https://www.ucloud.cn/yun/2178.html

相关文章

  • CSS学习摘要-定位

    摘要:学习摘要定位学习摘要定位注全文摘自定位定位允许您从正常的文档流布局中取出元素,并使它们具有不同的行为,例如放在另一个元素的上面,或者始终保持在浏览器视窗内的同一位置。使用上述四个属性来精确指定要将定位元素移动到的位置。CSS学习摘要-定位 注:全文摘自MDN-CSS定位 定位允许您从正常的文档流布局中取出元素,并使它们具有不同的行为,例如放在另一个元素的上面,或者始终保持在浏览器视窗内的同一...

    beanlam 评论0 收藏0
  • CSS学习摘要-布局

    摘要:注全文摘自介绍布局页面布局技术允许我们拾取网页中的元素,并且控制它们相对正常布局流周边元素父容器或者主视口窗口的位置。添加此代码将给出以下结果绝对定位绝对定位绝对定位用于将元素移动到页面的任何位置,以创建复杂的布局。注:全文摘自MDN-介绍CSS布局 CSS页面布局技术允许我们拾取网页中的元素,并且控制它们相对正常布局流、周边元素、父容器或者主视口/窗口的位置。在这个模块中将涉及更多关于页面...

    bigdevil_s 评论0 收藏0
  • CSS学习摘要-浮动与清除浮动

    摘要:为了实现这个效果,我们需要清除浮动。元素被向下移动用于清除之前的左右浮动。块格式化上下文对浮动定位与清除浮动都很重要。浮动定位和清除浮动时只会应用于同一个内的元素。且为了不影响接下来的文档标准流,往往也要收尾做出清除浮动。以下从浮动到BFC的段落 摘自MDN 网络开发者float 浮动float CSS属性指定一个元素应沿其容器的左侧或右侧放置,允许文本和内联元素环绕它。该元素从网页的正常流...

    番茄西红柿 评论0 收藏0
  • CSS学习摘要-数值和单位及颜色

    摘要:每对十六进制数代表一个通道红色绿色或者蓝色允许我们指定个可用值。例如,这个代码给出以下结果这些值比较复杂,不太容易理解,但是它们比关键字更灵活您可以使用十六进制值来表示您想要在颜色方案中使用的任何颜色。在CSS中,值的类型有很多种,一些很常见,一些你却几乎没怎么遇到过。我们不会在这篇文档中面面俱到地描述他们,而只是这些对于掌握CSS可能最有用处的这些。本文将会涉及如下CSS的值: 数值: ...

    luckyyulin 评论0 收藏0
  • css 定位及属性 命名规范

    摘要:元素的位置通过以及属性进行规定。如对齐样式使用对齐目标的英文名称。如标题栏样式使用类别功能的方式命名。注意事项一律小写尽量用英文不加中杠和下划线尽量不缩写,除非一看就明白的单词推荐的书写顺序显示属性自身属性文本属性待续 showImg(https://segmentfault.com/img/bVUfKG?w=274&h=100); 定位 static 静态定位(不对它的位置进行改...

    JouyPub 评论0 收藏0

发表评论

0条评论

kuangcaibao

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<