在 UL 中的第一个 link 之后添加斜线
Adding a slash after just the first link in an UL
我想在我的 UL 中的第一个 link 之后添加一个斜线,但它会在每个 link 之后不断添加它。我已经尝试了一百万种不同的东西,但我似乎无法弄清楚。
我的view/html:
<?php foreach ($this->config->item('languages') as $i => $language): ?>
<li class="language-nav__item"<?php if ($i == 0): ?> <?php elseif ($i == sizeof($this->config->item('languages'))-1): ?><?php endif; ?>>
<a class="language-nav__link" href="<?php echo base_url() . $language['alias'] . '/' . $pages[$view]->{'url_' . $language['language']}; echo ($view == 'home')? '' : str_replace('/' . $this->uri->segment(1), '', uri_string()); ?>">
<?php echo $language['name']; ?>
</a>
</li>
<?php endforeach; ?>
</ul>
这显示两个links/languages。
然后在我的CSS中:
.language-nav a:nth-child(1):before {
content: "/";
color: white;
}
这会在每个 link 后显示一个斜线。当我这样定位它时:
.language-nav li:nth-child(1):before {
content: "/";
color: white;
}
它在最后一个 link 而不是第一个 link 之后添加了一个斜杠(因此不在它需要的中间位置)
我做错了什么?谢谢。
看起来您的目标是 li
中的第一个 child。
试试下面的方法。
li:first-child a:after {
content: "/";
}
<ul>
<li>
<a class="language-nav__link" href="#">
English
</a>
</li>
<li>
<a class="language-nav__link" href="#">
Spanish
</a>
</li>
<li>
<a class="language-nav__link" href="#">
Chinese
</a>
</li>
</ul>
这针对第一个 li
中的锚元素(即 ul
的 - first-child
)。
编辑 - 或者,将斜杠放在锚点之外:
li:first-child:after {
content: "/";
}
<ul>
<li>
<a class="language-nav__link" href="#">
English
</a>
</li>
<li>
<a class="language-nav__link" href="#">
Spanish
</a>
</li>
<li>
<a class="language-nav__link" href="#">
Chinese
</a>
</li>
</ul>
我想在我的 UL 中的第一个 link 之后添加一个斜线,但它会在每个 link 之后不断添加它。我已经尝试了一百万种不同的东西,但我似乎无法弄清楚。
我的view/html:
<?php foreach ($this->config->item('languages') as $i => $language): ?>
<li class="language-nav__item"<?php if ($i == 0): ?> <?php elseif ($i == sizeof($this->config->item('languages'))-1): ?><?php endif; ?>>
<a class="language-nav__link" href="<?php echo base_url() . $language['alias'] . '/' . $pages[$view]->{'url_' . $language['language']}; echo ($view == 'home')? '' : str_replace('/' . $this->uri->segment(1), '', uri_string()); ?>">
<?php echo $language['name']; ?>
</a>
</li>
<?php endforeach; ?>
</ul>
这显示两个links/languages。
然后在我的CSS中:
.language-nav a:nth-child(1):before {
content: "/";
color: white;
}
这会在每个 link 后显示一个斜线。当我这样定位它时:
.language-nav li:nth-child(1):before {
content: "/";
color: white;
}
它在最后一个 link 而不是第一个 link 之后添加了一个斜杠(因此不在它需要的中间位置)
我做错了什么?谢谢。
看起来您的目标是 li
中的第一个 child。
试试下面的方法。
li:first-child a:after {
content: "/";
}
<ul>
<li>
<a class="language-nav__link" href="#">
English
</a>
</li>
<li>
<a class="language-nav__link" href="#">
Spanish
</a>
</li>
<li>
<a class="language-nav__link" href="#">
Chinese
</a>
</li>
</ul>
这针对第一个 li
中的锚元素(即 ul
的 - first-child
)。
编辑 - 或者,将斜杠放在锚点之外:
li:first-child:after {
content: "/";
}
<ul>
<li>
<a class="language-nav__link" href="#">
English
</a>
</li>
<li>
<a class="language-nav__link" href="#">
Spanish
</a>
</li>
<li>
<a class="language-nav__link" href="#">
Chinese
</a>
</li>
</ul>