php/css/html 语言按钮当前语言
php/css/html language buttons current language
我有 "buttons",可以更改网页上的语言:
<div class="wrapper">
<a class="button-link" href= "<?php echo qtrans_convertURL(get_permalink(), 'de'); ?>" target="_parent">DE</a>
<a class="button-link" href="<?php echo qtrans_convertURL(get_permalink(), 'en'); ?>" target="_parent">EN</a>
</div>
然后我做了一个悬停效果,来显示即将被选择的语言:
.button-link:hover {
color: #fff;
border-bottom: 2px solid #e95252;
}
现在我试图将这条边界线保持在所选语言之下。以便用户始终看到活动语言。我认为这会很简单:
.button-link:active{}
但是它没有按照我想要的方式工作,所以我想我必须编写一个 php 函数。我找到了如何显示当前页面的示例,但它与语言不同。因为语言按钮独立于页面,所以如果有人选择英语,它应该始终保持下划线。
您可以尝试执行以下操作
PHP:
<?php if(qtrans_getLanguage()=='de'): ?>
<a class="button-link active" href= "<?php echo qtrans_convertURL(get_permalink(), 'de'); ?>"
target="_parent">DE</a>
<?php endif; ?>
CSS:
.active {
border-bottom: 2px solid #e95252;
}
祝你好运!
这样做的一种方法是向每个 .button-link
添加一个 class="<?= $lang = 'de' ? 'active' : '' ?>"
。因为他们都在做同样的事情,所以会更简单:
<?php
$langs = array('de', 'fr', 'it', 'en');
?>
<div class="wrapper">
<?php foreach ($langs as $lang) : ?>
<a class="button-link" href="<?= qtrans_convertURL(get_permalink(), $lang); ?>" class="<?= qtrans_getLanguage() == $lang ? 'active-lang' : '' ?>" target="_parent"><?= strtoupper($lang); ?></a>
<?php endforeach; ?>
</div>
而在 css 中,您只需 select class 或
.active-lang {}
或
.button-link.active-lang {}
可以这样做:
定义新的 class>
.button-link-active {
border-bottom: 2px solid #e95252;
}
然后使用以下代码在您的 link 中添加 class:
<?php if ( qtrans_getLanguage() == "en" ){ echo "button-link-active" } ?>
最终代码如下:
<a class="button-link <?php if ( qtrans_getLanguage() == "en" ){ echo "button-link-active" } ?> " href= "<?php echo qtrans_convertURL(get_permalink(), 'de'); ?>" target="_parent">DE</a>
我有 "buttons",可以更改网页上的语言:
<div class="wrapper">
<a class="button-link" href= "<?php echo qtrans_convertURL(get_permalink(), 'de'); ?>" target="_parent">DE</a>
<a class="button-link" href="<?php echo qtrans_convertURL(get_permalink(), 'en'); ?>" target="_parent">EN</a>
</div>
然后我做了一个悬停效果,来显示即将被选择的语言:
.button-link:hover {
color: #fff;
border-bottom: 2px solid #e95252;
}
现在我试图将这条边界线保持在所选语言之下。以便用户始终看到活动语言。我认为这会很简单:
.button-link:active{}
但是它没有按照我想要的方式工作,所以我想我必须编写一个 php 函数。我找到了如何显示当前页面的示例,但它与语言不同。因为语言按钮独立于页面,所以如果有人选择英语,它应该始终保持下划线。
您可以尝试执行以下操作 PHP:
<?php if(qtrans_getLanguage()=='de'): ?>
<a class="button-link active" href= "<?php echo qtrans_convertURL(get_permalink(), 'de'); ?>"
target="_parent">DE</a>
<?php endif; ?>
CSS:
.active {
border-bottom: 2px solid #e95252;
}
祝你好运!
这样做的一种方法是向每个 .button-link
添加一个 class="<?= $lang = 'de' ? 'active' : '' ?>"
。因为他们都在做同样的事情,所以会更简单:
<?php
$langs = array('de', 'fr', 'it', 'en');
?>
<div class="wrapper">
<?php foreach ($langs as $lang) : ?>
<a class="button-link" href="<?= qtrans_convertURL(get_permalink(), $lang); ?>" class="<?= qtrans_getLanguage() == $lang ? 'active-lang' : '' ?>" target="_parent"><?= strtoupper($lang); ?></a>
<?php endforeach; ?>
</div>
而在 css 中,您只需 select class 或
.active-lang {}
或
.button-link.active-lang {}
可以这样做: 定义新的 class>
.button-link-active {
border-bottom: 2px solid #e95252;
}
然后使用以下代码在您的 link 中添加 class:
<?php if ( qtrans_getLanguage() == "en" ){ echo "button-link-active" } ?>
最终代码如下:
<a class="button-link <?php if ( qtrans_getLanguage() == "en" ){ echo "button-link-active" } ?> " href= "<?php echo qtrans_convertURL(get_permalink(), 'de'); ?>" target="_parent">DE</a>