重复伪选择器的内容值

时间:2013-10-24 19:54:56

标签: javascript jquery html css css-selectors

iA.net的网站上,他们使用伪元素创建了分隔符:之前在分隔符文本后面创建了一条漂亮的虚线。在这种情况下,它是帖子和页脚“联系人”标题的时间戳。

我正在尝试重新创建效果,我能想出的唯一看起来相似的是:

HTML:

<div class="post-meta post-timestamp">
    <div class="post-date">
        <time datetime="{{date format="YYYY-MM-DD"}}">{{date format='DD. MMMM YYYY'}}</time>
    </div>
</div>

CSS(SASS):

.post-meta {
  padding: 2px 0 10px;
  color: #b3b3b1;
  .post-template & {
    border-top: 1px solid #ddd;
    margin: 0 0 1.8em;
  }
  .post-date,
  .tag-list {
    margin-bottom: 1em;
    margin-top: -0.8em;
    text-align: center;
  }
  .post-date time,
  .tag-list span {
    display: inline-block;
    background-color: $body-bg;
    padding: 0 1em;
    i {
      margin-right: 0.24em;
    }
  }
  .home-template & .tag-list span {
    display: inline;
  }
  li {
    display: inline;
  }
}

我可以在他们的网站上找到以下HTML / CSS:

<h1 class="section_separator">
    <span>19. March 2013</span>
</h1>

CSS:

.section_separator {
  font-family: 'iABCRegularSC', Georgia, serif;
  text-transform: lowercase;
  position: relative;
  margin: 0 0 1.52381em 0;
  overflow: hidden;
  font-size: 1em;
  line-height: 1.14286em;
  text-align: center; }
  .section_separator a,
  .section_separator span {
    display: inline-block;
    position: relative;
    padding: 0 10px;
    z-index: 1;
    background-color: #fdfdfd;
    text-decoration: none; }
  .section_separator a:hover {
    text-decoration: underline; }

.section_separator:before,
.section_separator .before {
  font-family: 'iABCRegularSC', Georgia, serif;
  text-transform: lowercase;
  position: absolute;
  top: 0;
  left: -1000px;
  z-index: -1;
  overflow: visible;
  text-decoration: none !important;
  color: #111111;
  font-size: 1em;
  line-height: 1.14286em;
  letter-spacing: 2px;
  content: "µµµµµµµ"; }

我一直在研究这个,但无法找到如何重新创建它。虽然我很确定他们也使用了一种javascript,因为当我关闭javascript时,分隔符不会呈现。但我也无法在javascript中找到任何与该分隔符做任何事情的东西,或者我只是在寻找那个死角的地方。

有人知道他们在这里使用了什么吗?我问,因为我无法理解,我想做类似的事情。

2 个答案:

答案 0 :(得分:0)

有趣的问题。我可能错了,但我确信这就是发生的事情:

µ符号正在插入页面,但它们使用的是自定义字体,将此符号显示为一系列点,大约200px宽。因此,当它们添加一堆符号时,它看起来像一个非常大的点线。然后它们只是将那条线滑过一堆,让overflow: hidden;隐藏每边的多余点。

答案 1 :(得分:0)

这里只是一个简化其复杂性的想法。

HTML

<div class="splitter">
   <span>work</span>    
</div>

<强> CSS

body{
  text-align:center;
  margin: 50px;
}

.splitter{
  border-top:1px dotted #ccc;
  margin-top:20px;
  text-align:center;
}

.splitter span{
    position:relative;
    top:-10px;
    background-color:#fff;
    padding:0 20px;
    text-transform:uppercase;
}