Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
之后使用CSS伪元素_Css_Wordpress_Css Position_Pseudo Element - Fatal编程技术网

之后使用CSS伪元素

之后使用CSS伪元素,css,wordpress,css-position,pseudo-element,Css,Wordpress,Css Position,Pseudo Element,我正在使用WordPress并向其添加菜单,我正在尝试在每个导航按钮后添加一些内容。理想情况下,我想在每个导航按钮后添加一个额外的标记,作为背景间隔,但似乎您无法使用:after来实现这一点 然后我尝试了另一种方法,就是使用这样的东西 #header .nav li:after { content: " "; position: relative; display: block; width: 2px; min-width: 2px; height

我正在使用WordPress并向其添加菜单,我正在尝试在每个导航按钮后添加一些内容。理想情况下,我想在每个导航按钮后添加一个额外的
  • 标记,作为背景间隔,但似乎您无法使用
    :after
    来实现这一点

    然后我尝试了另一种方法,就是使用这样的东西

    #header .nav li:after {
        content: " ";
        position: relative;
        display: block;
        width: 2px;
        min-width: 2px;
        height: 45px;
        min-height: 45px;
        background: url('images/nav-button-spacer-bg.png') left top no-repeat;    
    }
    
    最后,垫片水平放置在正确的位置,而不是垂直放置,因为它直接放置在菜单下

    我通过将
    位置
    更改为
    绝对
    并添加
    top:0px来修复这个问题

    这似乎已经修复了它,但是我想知道这是否正确,因为
    ul
    标记和包含
    div
    元素都有
    位置
    静态
    ,我想知道现在的
    绝对
    项是如何附着在它们上面的

    我猜伪元素的工作方式不同,因此它不需要父元素具有固定、相对或绝对的位置


    我的想法正确吗?这是做我需要做的事情的最佳方式吗?

    这是一个非常好的方式!我想您刚刚错过了一个元素,它实际上有
    位置:relative在上面。有关绝对定位伪元素的演示,请参见此示例:


    但是您应该注意到,如果您有一个绝对定位的元素,并且使用一些
    顶部
    底部
    左侧
    右侧
    属性,那么位置计算将以某种方式回退,就像元素是静态定位的一样。看到这个答案:

    Ahh是的,刚刚回忆起,由于内容放在元素内部,而不是作为另一个元素放在它旁边,这意味着它的父元素将是相应的
    li
    标记,我已将其设置为
    相对
    :)谢谢你的回答!:)