将右箭头添加到菜单栏

时间:2017-12-29 14:23:37

标签: php jquery html css

我想在ul有一个孩子的地方添加css右箭头?下面是三角形右css。我想在我的菜单中添加,以便用户知道此菜单有子菜单。

如果li有孩子的ul.children,如何在纯css中检测?

我想在下面添加三角形右箭头到我的CSS。 Plz帮助。

#triangle-right {
    width: 0;
    height: 0;
    border-top: 50px solid transparent;
    border-left: 100px solid red;
    border-bottom: 50px solid transparent;
}

菜单的php代码:

<?php
$stmt = $pdo->query('SELECT * FROM `category` where `parent_id` = 0');
$stmt->execute();
?>

<ul class="top-level-menu">
    <?php while($menu1 = $stmt->fetch()){ ?>
        <li><a href="<?php echo $menu1['category_link'] . "\n"; ?>"><?php echo $menu1['product'] . "\n"; ?></a>

            <?php   $stmt1 = $pdo->prepare('SELECT * FROM category WHERE parent_id = ?');
                    $stmt1->execute([$menu1['id']]);
                    ?>
                    <ul class="second-level-menu">
                        <?php while($menu2 = $stmt1->fetch()){ ?>
                        <li><a href="<?php echo $menu2['category_link'] . "\n"; ?>"><?php echo $menu2['product'] . "\n"; ?></a>
                                    <?php
                                    $stmt2 = $pdo->prepare('SELECT * FROM category WHERE parent_id = ?');
                                    $stmt2->execute([$menu2['id']]);
                                    ?>
                                <ul class="third-level-menu">
                                    <?php while($menu3 = $stmt2->fetch()){ ?>
                                   <li><a href="<?php echo $menu3['category_link'] . "\n"; ?>"><?php echo $menu3['product'] . "\n"; ?></a>
                                   </li>
                                   <?php } ?>
                                </ul>

                        </li>

                        <?php } ?>
                    </ul>


        </li>
<?php } ?>
</ul>
菜单栏的

css

<style>
/* Menu Styles */

.third-level-menu
{
    position: absolute;
    top: 0;
    right: -220px;
    width: 220px;
    list-style: none;
    padding: 0;
    margin: 0;
    display: none;
}

.third-level-menu > li
{
    height: 30px;
    background: #999999;
}
.third-level-menu > li:hover { background: #CCCCCC; }

.second-level-menu
{
    position: absolute;
    top: 30px;
    left: 0;
    width: 200px;
    list-style: none;
    padding: 0;
    margin: 0;
    display: none;
}

.second-level-menu > li
{
    position: relative;
    height: 30px;
    background: #999999;
}
.second-level-menu > li:hover { background: #CCCCCC; }

.top-level-menu
{
    list-style: none;
    padding: 0;
    margin: 0;
}

.top-level-menu > li
{
    position: relative;
    float: left;
    height: 30px;
    width: 100px;
    background: #999999;
}
.top-level-menu > li:hover { background: #CCCCCC; }

.top-level-menu li:hover > ul
{
    /* On hover, display the next level's menu */
    display: inline;
}


/* Menu Link Styles */

.top-level-menu a /* Apply to all links inside the multi-level menu */
{
    font: bold 14px Arial, Helvetica, sans-serif;
    color: #FFFFFF;
    text-decoration: none;
    padding: 0 0 0 10px;

    /* Make the link cover the entire list item-container */
    display: block;
    line-height: 30px;
}
.top-level-menu a:hover { color: #000000; }
</style>

1 个答案:

答案 0 :(得分:0)

不幸的是,css没有原生的'hasParent'选择器,但是如果你确实需要的话 pure-css你可以试试像:

const promise1 = client.setAsync("key1", 1).then(() => 1);
const promise2 = client.setAsync("key2", 2).then(() => 2);
const promise3 = client.setAsync("key3", 3).then(() => 3);
const promise4 = client.setAsync("key4", 4).then(() => 4);

Promise.race([promise1,promise2,promise3,promise4]).then(val => {
    console.log(val);    // will be resolved value of first promise to resolve
});
li {
  position: relative;
   float: left; 
   clear: left; 
}

li > ul::after {
    content: '';
    position: absolute;
    top: 5px;
    right: 0;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-left: 5px solid red;
    border-bottom: 5px solid transparent;
}