【问题标题】:How to write on the heart? [duplicate]怎么写在心上? [复制]
【发布时间】:2016-03-24 07:21:50
【问题描述】:

接着这个:Did CSS break my heart?,我现在有了这个JSFiddle,它有这个HTML:

<div id="heart"><span>M + G</span></div>

还有这个(新的)CSS:

span {
  z-index: 4;
}

然而,字母仍然心脏的后面,而我的目标是将它们放在心脏的中心,一开始我认为我必须将它们放在心脏的前面,但是这失败了,有什么想法

【问题讨论】:

  • 请不要使用“有趣的标题”。这样,搜索相同解决方案的人更有可能找到您的问题。 SO 会建议适当的重复。
  • 恕我直言@Oriol 这不好笑,但如果您有任何建议,请告诉我或随时编辑问题!
  • 也许“有趣”不是正确的词,但“CSS 是否伤了我的心”似乎意味着 CSS 给你带来了情感上的痛苦。
  • 哦,你在谈论我的老问题@Oriol,抱歉没听懂!我明白你的意思,我以后会更加小心。我做了,有点。 ;p
  • 一个工作演示:jsfiddle.net/tzi/r9yb0zh0

标签: html css geometry css-shapes


【解决方案1】:

z-index 仅适用于定位元素(位置:绝对,位置:相对,......)并且您的 span 元素不具有 position 属性。

#heart:before, #heart:after {
    z-index: -1; // because the text will be placed behind heart.
}

WORKING DEMO

或者您只需将position: relative 添加到您的跨度中。

【讨论】:

  • 知道如何用这个解决方案移动心脏的文本吗?
  • 把它移到哪里?居中?
  • 是的,你知道在心脏的中心。
  • 是的,只需将text-align: center; line-height: 60px; 添加到#heart 参见Demo
【解决方案2】:

根据MDN docsz-index只能应用于定位元素。

只需将span 设置为position:relative;

span {
  position:relative;
  z-index: 4;
}

JSFiddle

【讨论】:

    【解决方案3】:
    span {
      position: absolute;
      z-index: 4;
    }
    

    更新到中心文本:

    span {
      position: relative;
      line-height: 60px;
      z-index: 4;
    }
    
    #heart {
      text-align: center;
      position: relative;
      width: 100px;
      height: 90px;
      margin-top: 10px;
      /* leave some space above */
    }
    

    【讨论】:

    • 我首先看到了 John 的解决方案,所以我可以接受,但我会赞成您在 SO 中发布的其他内容,以表示对您的感谢。
    • 请不要,保持清洁 :) 感谢 John,但很高兴你找到了你要找的东西 :)
    • 我对我读过的东西进行了投票,并认为它值得投票!!我同意你的观点,如果是你没有我可以欣赏的东西,那么我不会投票。 ;)
    猜你喜欢
    • 2011-09-01
    • 2012-12-01
    • 1970-01-01
    • 2019-08-01
    • 2011-07-01
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    • 2023-03-28
    相关资源
    最近更新 更多