【问题标题】:Is there a standard convention for naming z-index layers? [closed]是否有命名 z-index 图层的标准约定? [关闭]
【发布时间】:2012-11-14 12:28:17
【问题描述】:

我想创建一些 sass 变量来表示不同的 z-index 值,并且希望使用预先存在的命名约定(如果存在)。我正在寻找类似 Swing 如何定义 rootlayeredcontentglass 窗格之类的东西,或者指向一些我可以用作命名基础的理论的指针。

【问题讨论】:

  • 如果您的意思是“默认 z-index”,则没有默认 z-index。每个元素按出现顺序相互叠加 =)
  • 我不是指 DOM 中元素的默认 z-index,而是对现有的约定感到好奇,例如是否有网格系统或命名约定如何在 z 轴上堆叠项目.仅使用数字作为 z-index 非常灵活,但是您多久会在一个站点中使用超过 12 个不同的 z 索引?
  • 那么就像我说的:外观。每个下一个元素都有更高的 z-index,但这不是真正的 z-index
  • z-index 都与页面上有多少元素有关。您始终可以为自己设置一些预定义的范围:-1、3000-5999、6000-9999 等,然后相应地命名它们。 * CSS 定位对 HTML 中的视觉分层也有影响。

标签: html sass


【解决方案1】:

在工作中稍微考虑了这一点之后,这是我们想出的(包装在 Sass 地图中):

$z-index: (
  'satellite'           :       5000,
  'skyscraper'          :       1000,
  'tower-block'         :       500,
  'house'               :       200,
  'bungalow-chimney'    :       110,
  'bungalow'            :       100,
  'shed'                :       50,
  'postbox'             :       10,
  'curb'                :       1,
  'pavement'            :       0,
  'pothole'             :      -10,
  'ditch'               :      -20,
  'sewer'               :      -100,
  'mine'                :      -300,
  'seabed'              :      -1000
);

然后像这样引用它:

.foo {
  z-index: map-get($z-index, 'pothole');
}

【讨论】:

    【解决方案2】:

    http://en.wikipedia.org/wiki/Structure_of_the_Earth?

    外圈 热球 中间层 平流层 对流层 脆皮 上地幔 地幔 外核 内核

    对你来说够奇葩了吗?

    【讨论】:

    • 我喜欢它!我开始沿着这条路线思考,但我不记得我头顶的大气层:/
    • 谷歌几乎是我的头顶:D
    【解决方案3】:

    我们需要维护项目封面、过滤栏、位置搜索模态、模态上方的自定义下拉菜单和网站导航的堆叠顺序,从下到上。我们可以设置一个 Sass 列表,如下所示:

    $elements: project-covers, sorting-bar, modals, navigation;
    

    此列表表示我们希望元素出现的顺序,从最低到最高,数组中的每个索引或位置表示该元素的 z-index。我们可以使用 Sass 索引函数为每个元素分配一个 z-index 值。 例如:

    .project-cover {
       z-index: index($elements, project-covers);
    }
    

    这会打印出来:

    .project-cover {
       z-index: 1;
    }
    

    这是因为 project-cover 是列表中的第一个元素,位于索引 1 处,并且是我们的 z-index 堆叠顺序中的最低元素。让我们为列表中的其余项目编写 Sass:

    .sorting-bar {
       z-index: index($elements, sorting-bar);
    }
    .modal {
       z-index: index($elements, modals);
    }
    .navigation {
       z-index: index($elements, navigation);
    }
    

    现在,我们编译的 CSS 看起来像这样:

    .project-cover {
       z-index: 1;
    }
    .sorting-bar {
       z-index: 2;
    }
    .modal {
       z-index: 3;
    }
    .navigation {
       z-index: 4;
    } 
    

    【讨论】:

    • 这根本不是 OP 所要求的。
    • 这是一种无需硬编码任何整数即可定义 z-index 堆叠顺序的新方法。我喜欢!
    • 是的,没错,我可能没看懂你的问题,不好意思,本来不想问的,不过帮忙,抱抱。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 2011-08-27
    • 1970-01-01
    • 2023-01-21
    相关资源
    最近更新 更多