设置子主题style.css中的链接以跳转到#Main

时间:2016-03-30 作者:Alexander Farber

通过创建这两个文件,我创建了2013年的子主题-

/wp-content/themes/twentythirteen-child/style.css:

@import url("../twentythirteen/style.css");

.site-header .home-link {
    min-height: 800px;
}
/wp-content/themes/twentythirteen-child/functions.php:

<?php

function my_custom_header_setup() {
        $args = array(\'height\' => 800);
        add_theme_support(\'custom-header\', $args);
}

add_action(\'after_setup_theme\', \'my_custom_header_setup\');

?>
现在,网站顶部有一个大图像,看起来就像我想要的那样。

然而,当用户单击大图像时,他们“什么也没发生”。

我想更改它,以便在大图像上单击会导致向下滚动到#main 锚定:

website bukvy.de

是否可以通过style.css? 我已经搜索过了,但找不到CSS解决方案(或黑客)。

如果没有,那么如何以最简单的方式实现这一点?(我正试图将子主题保持在较小的范围内,以便于网站更新)。

我目前的解决办法是disable the link with CSS, 但我仍然对更好的解决方案感兴趣:

.site-header .home-link {
       pointer-events: none;
       cursor: default;
}

1 个回复
最合适的回答,由SO网友:Sumit 整理而成

简单的答案是NO, You can not! CSS代表Cascade Style Sheet 这意味着要按级联顺序设置元素样式。CSS无法更改DOM。

有两种方法可以实现它。

覆盖header.php(Not recommended)Method 1: 复制header.php 到您的子主题并修改href 链接你想要的!示例:

<a class="home-link" href="#main" title="<?php echo esc_attr( get_bloginfo( \'name\', \'display\' ) ); ?>" rel="home">
    <h1 class="site-title"><?php bloginfo( \'name\' ); ?></h1>
    <h2 class="site-description"><?php bloginfo( \'description\' ); ?></h2>
</a>
Method 2: 就我个人而言,我不会推荐它。最好尽量少用js。如果您想使用此解决方案,可以要求stackoverflow.com