- 注册时间
- 2026-7-7
- 最后登录
- 2026-9-8
- 在线时间
- 293 小时
TA的每日心情 | 奋斗 7 小时前 |
|---|
签到天数: 9 天 [LV.3]偶尔看看II

管理员
- 🤝 贡献
- 3
- 🌟 威望
- 0
- 🪙 金币
- 3420
- 💎 社区币
- 146
   
|
Discuz! 美化 discuzx5 的搜索框
Discuz! 美化 discuzx5 的搜索框
Discuz! 美化 discuzx5 的下拉菜单、搜索框和登录选项
打开 template\discuzx5\common\header_userstatus.php,替换所有的内容:
- <?php echo '';exit;?>
- <div class="header-right">
- <!--{if $_G['style']['is_search']}-->
- <div class="header-searcher">
- <div class="searcher-wrap">
- <form method="{if $_G[fid] && !empty($searchparams[url])}get{else}post{/if}" autocomplete="off"
- action="{if $_G[fid] && !empty($searchparams[url])}$searchparams[url]{else}search.php?searchsubmit=yes{/if}" target="_blank">
- <input type="hidden" name="mod" value="forum" />
-
- <!-- 1. 默认显示的放大镜按钮 -->
- <button type="button" class="search-icon-btn" aria-label="Search">
- <svg viewBox="0 0 24 24" width="18" height="18" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>
- </button>
- <!-- 2. 悬停弹出的气泡框 -->
- <div class="search-dropdown-box">
- <div class="search-box-inner">
- <input type="text" name="srchtxt" placeholder="{lang enter_content}" value="{if $keyword}$keyword{/if}"
- class="search-input">
- <button type="submit" name="searchsubmit" sc="1" class="search-submit-btn" value="true">搜索</button>
- </div>
- </div>
- </form>
- </div>
- </div>
- <!--{/if}-->
- {cells common/header/i18n_switch}
- <!--{if $_G['uid']}-->
- <!--{if strpos($_G['setting']['pluginhooks']['global_usernav_extra1'], 'function showmyrepeats()')}-->
- <div class="header-notice">
- <div class="notice-icon"><a href="home.php?mod=spacecp&ac=plugin&id=myrepeats:memcp" id="myrepeats" class="kmico" onmouseover="delayShow(this, showmyrepeats)" title="{lang tmp070}">
- <i class="dzicon myrepeats"></i>
- </a></div>
- </div>
- <!--{/if}-->
- <div class="header-notice">
- <div class="notice-icon">
- <i class="dzicon noticeicon"></i>
- <!--{if $_G['member']['newprompt'] || $_G['member']['newpm']}-->
- {eval $newprompt = $_G['member']['newprompt'] + $_G['member']['newpm'];}
- <span class="dot">{if $newprompt >99}99{else}$newprompt{/if}</span>
- <!--{/if}-->
- </div>
- <div class="notice-dropdown poptip-popper">
- <div class="poptip-arrow"></div>
- <ul class="notice-content">
- <li class="notice-item"><a href="home.php?mod=space&do=notice">{lang remind}<!--{if $_G[member][newprompt]}--><span class="num">($_G[member][newprompt])</span><span class="dot"></span><!--{/if}--></a></li>
- <!--{if !empty($_G['setting']['pmstatus'])}-->
- <li class="notice-item"><a href="home.php?mod=space&do=pm">{lang pm_center}{if $_G[member][newpm]}<span class="dot"></span>{/if}</a></li>
- <!--{/if}-->
- <li class="notice-item"><a href="home.php?mod=follow&do=follower"><!--{lang notice_interactive_follower}-->{if $_G[member][newprompt_num][follower]} <span class="num">$_G[member][newprompt_num][follower]</span>{/if}{if $_G[member][newprompt_num][follower]}<span class="dot"></span>{/if}</a></li>
- <!--{if $_G[member][newprompt] && $_G[member][newprompt_num][follow]}-->
- <li class="notice-item"><a href="home.php?mod=follow"><!--{lang notice_interactive_follow}-->($_G[member][newprompt_num][follow])<span class="dot"></span></a></li>
- <!--{/if}-->
- <!--{if $_G['member']['newprompt']}-->
- <!--{loop $_G['member']['category_num'] $key $val}-->
- <li class="notice-item"><a href="home.php?mod=space&do=notice&view=$key"><!--{echo lang('template', 'notice_'.$key)}--><span class="num">$val</span><span class="dot"></span></a></li>
- <!--{/loop}-->
- <!--{/if}-->
- </ul>
- </div>
- </div>
- <div class="header-user">
- <div class="header-user-info">
- <div class="header-user-avatar">
- <a href="home.php?mod=space&uid=$_G[uid]">
- <!--{avatar($_G['uid'],'big')}-->
- </a>
- </div>
- </div>
- <div class="header-user-dropdown poptip-popper">
- <div class="poptip-arrow"></div>
- <div class="user-card">
- <div class="user-card-top">
- <div class="block_avatar e-avatar"><a href="home.php?mod=space&uid=$_G[uid]"><!--{avatar($_G['uid'],'big')}--></a></div>
- <div class="block_name">
- <a href="home.php?mod=space&uid=$_G[uid]">{$_G[member][username]}</a>
- <a href="home.php?mod=spacecp&ac=usergroup" target="_blank">{$_G['group']['grouptitle']}</a>
- </div>
- </div>
- <div class="author_intro">
- <p>
- <!--{if $_G['group']['allowinvisible']}-->
- <span id="loginstatus" class="xi2">
- <a id="loginstatusid" href="member.php?mod=switchstatus" title="{lang login_switch_invisible_mode}" onclick="ajaxget(this.href, 'loginstatus');return false;" class="xi2"></a>
- </span>
- <!--{/if}-->
- <!--{if $_G['member']['freeze']}--><span class="xi1">{lang freeze}</span><!--{/if}-->
- <a href="home.php?mod=spacecp&ac=credit&showcredit=1" target="_blank">{lang credits}: $_G['member']['credits']</a>
- </p>
- </div>
- <div class="user-card-area">
- <!--{if check_diy_perm($topic)}-->
- <a href="javascript:saveUserdata('diy_advance_mode', '1');openDiy();">{lang tmp071}</a>
- <!--{/if}-->
- <!--{if !empty($_G['setting']['taskstatus']) && !empty($_G['cookie']['taskdoing_'.$_G['uid']])}--><a href="home.php?mod=task&item=doing" id="task_ntc" class="info_task" target="_blank">{lang task_doing}</a><!--{/if}-->
- <!--{if ($_G['group']['allowmanagearticle'] || $_G['group']['allowpostarticle'] || $_G['group']['allowdiy'] || getstatus($_G['member']['allowadmincp'], 4) || getstatus($_G['member']['allowadmincp'], 6) || getstatus($_G['member']['allowadmincp'], 2) || getstatus($_G['member']['allowadmincp'], 3))}-->
- <a href="portal.php?mod=portalcp" class="info_portalcp" target="_blank"><!--{if $_G['setting']['portalstatus'] }-->{lang portal_manage}<!--{else}-->{lang portal_block_manage}<!--{/if}--></a>
- <!--{/if}-->
- <!--{if $_G['uid'] && $_G['group']['radminid'] > 1}-->
- <a href="forum.php?mod=modcp&fid=$_G['fid']" class="info_portalcp" target="_blank">{lang forum_manager}</a>
- <!--{/if}-->
- <!--{if $_G['uid'] && getstatus($_G['member']['allowadmincp'], 1)}-->
- <a href="?app=admin" class="info_admin" target="_blank">{lang admincp}</a>
- <!--{/if}-->
- </div>
- <div class="user-card-area">
- <a href="home.php?mod=spacecp" class="info_setup" target="_blank">{lang myitem}{lang setup}</a>
- <a href="home.php?mod=space&do=thread&view=me" class="info_post" target="_blank">{lang myitem}{lang mypost}</a>
- <a href="home.php?mod=space&do=favorite&view=me" class="info_fav" target="_blank">{lang myitem}{lang favorite}</a>
- <a href="home.php?mod=space&do=friend" class="info_friend" target="_blank">{lang myitem}{lang friends}</a>
- <!--{hook/global_usernav_extra1}-->
- <!--{hook/global_usernav_extra2}-->
- <!--{hook/global_usernav_extra3}-->
- <!--{hook/global_usernav_extra4}-->
- <!--{hook/global_myitem_extra}-->
- </div>
- <!--{if $_G['style']['top_fastnav'] }-->
- <div class="dz_user_qmenu cl">
- <div class="qmenu_an" id="qmenu_an">
- <a class="next" href="javascript:qmenu_move('1');"><em></em></a>
- <a class="prev" href="javascript:qmenu_move('0');"><em></em></a>
- </div>
- <div class="qmenu_ico" id="qmenu_loop">
- <ul class="cl" id="qmenu_loopul">
- <!--{loop $_G['setting']['mynavs'] $nav}-->
- <!--{if $nav['available'] && (!$nav['level'] || ($nav['level'] == 1 && $_G['uid']) || ($nav['level'] == 2 && $_G['adminid'] > 0) || ($nav['level'] == 3 && $_G['adminid'] == 1))}-->
- <li>{echo str_replace($nav['navname'], '<span>'. $nav['navname'].'</span>', $nav['code']);}</li>
- <!--{/if}-->
- <!--{/loop}-->
- </ul>
- </div>
- </div>
- <!--{/if}-->
- <!--{if $_G['uid'] && !empty($_G['style']['extstyle'])}-->
- <div class="user-card-skin">
- <!--{if !$_G[style][defaultextstyle]}-->
- <span onclick="extstyle('')" title="{lang default}"><i></i></span><!--{/if}-->
- <!--{loop $_G['style']['extstyle'] $extstyle}-->
- <span onclick="extstyle('$extstyle[0]')" title="$extstyle[1]"><i
- style='background:$extstyle[2]'></i></span>
- <!--{/loop}-->
- </div>
- <!--{/if}-->
- <div class="user-card-bottom">
- <a href="member.php?mod=logging&action=logout&formhash={FORMHASH}" class="user-logout-btn">{lang logout}</a>
- </div>
- </div>
- </div>
- </div>
- <!--{else}-->
- <!--{hook/global_usernav_extra1}-->
-
- <!-- 未登录时的悬停登录/注册气泡菜单 -->
- <div class="header-login-menu">
- <div class="login-menu-wrap">
- <a href="member.php?mod=logging&action=login" onclick="showWindow('login', this.href);return false;" class="login-trigger">
- {lang login}
- </a>
- <div class="login-dropdown-box">
- <div class="login-box-inner">
- <a href="member.php?mod=logging&action=login" onclick="showWindow('login', this.href);return false;" class="menu-item">
- 立即登录
- </a>
- <a href="member.php?mod=register" class="menu-item">
- 立即注册
- </a>
- </div>
- </div>
- </div>
- </div>
- <!--{/if}-->
- </div>
- <!-- 集中整合的 CSS 样式 -->
- <style>
- /* 1. 搜索框相关样式 */
- .header-searcher {
- position: relative;
- display: inline-block;
- vertical-align: middle;
- }
- .searcher-wrap {
- position: relative;
- }
- .search-icon-btn {
- background: #fcfcfc;
- border: none;
- color: #0090F0;
- border-radius: 50%;
- cursor: pointer;
- padding: 8px;
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .search-dropdown-box {
- display: none;
- position: absolute;
- right: 0;
- top: 100%;
- margin-top: 10px;
- background: #fff;
- padding: 15px;
- border-radius: 6px;
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
- z-index: 999;
- white-space: nowrap;
- }
- .search-dropdown-box::before {
- content: '';
- position: absolute;
- bottom: 100%;
- right: 20px;
- border-width: 6px;
- border-style: solid;
- border-color: transparent transparent #fff transparent;
- }
- .searcher-wrap:hover .search-dropdown-box {
- display: block;
- }
- .search-box-inner {
- display: flex;
- align-items: center;
- gap: 8px;
- }
- .search-dropdown-box .search-input {
- width: 200px;
- height: 34px;
- padding: 0 10px;
- border: 1px solid #dcdfe6;
- border-radius: 4px;
- outline: none;
- font-size: 14px;
- color: #606266;
- background: #fff;
- }
- .search-dropdown-box .search-input:focus {
- border-color: #409eff;
- }
- .search-dropdown-box .search-submit-btn {
- height: 34px;
- padding: 0 16px;
- background-color: #1890ff;
- color: #fff;
- border: none;
- border-radius: 4px;
- cursor: pointer;
- font-size: 14px;
- }
- .search-dropdown-box .search-submit-btn:hover {
- background-color: #40a9ff;
- }
- /* 2. 登录/注册气泡菜单相关样式 */
- .header-login-menu {
- position: relative;
- display: inline-block;
- vertical-align: middle;
- }
- .login-menu-wrap {
- position: relative;
- }
- .login-trigger {
- color: #0090F0;
- text-decoration: none;
- font-size: 14px;
- padding: 5px 10px;
- display: inline-block;
- cursor: pointer;
- }
- .login-trigger:hover {
- color: #1890ff;
- }
- .login-dropdown-box {
- display: none;
- position: absolute;
- right: 0;
- top: 100%;
- margin-top: 8px;
- background: #fff;
- padding: 10px;
- border-radius: 6px;
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
- z-index: 999;
- white-space: nowrap;
- }
- .login-dropdown-box::before {
- content: '';
- position: absolute;
- bottom: 100%;
- right: 20px;
- border-width: 6px;
- border-style: solid;
- border-color: transparent transparent #fff transparent;
- }
- .login-menu-wrap:hover .login-dropdown-box {
- display: block;
- }
- .login-box-inner {
- display: flex;
- flex-direction: column;
- gap: 6px;
- }
- .login-dropdown-box .menu-item {
- display: block;
- padding: 8px 16px;
- color: #ff0000;
- background: #fff;
- text-align: center;
- border-radius: 4px;
- text-decoration: none;
- font-size: 14px;
- border: 1px solid transparent;
- }
- .login-dropdown-box .menu-item:hover {
- color: #1890ff;
- background: #F0F7FF;
- border-color: #d1e9ff;
- }
- </style>
- <script type="text/javascript">
- document.querySelectorAll('.header-user, .header-notice, .header-i18n, .header-client').forEach(function(element) {
- element.addEventListener('mouseenter', function() {
- this.classList.add('open');
- });
- element.addEventListener('mouseleave', function() {
- this.classList.remove('open');
- });
- });
- if($("qmenu_loop")){
- var qmenu_timer, qmenu_scroll_l;
- var qmenu_in = 0;
- var qmenu_width = 163;
- var qmenu_loop = $('qmenu_loop');
- var qmenu_all_width = 41 * $('qmenu_loopul').getElementsByTagName("li").length - qmenu_width;
- if(qmenu_all_width < 20){
- $('qmenu_an').style.display = 'none';
- }
- }
- function qmenu_move(qmenu_lr){
- if(qmenu_in == 0 && ((qmenu_lr == 1 && qmenu_loop.scrollLeft < qmenu_all_width) || (qmenu_lr == 0 && qmenu_loop.scrollLeft > 0))){
- qmenu_in = 1;
- qmenu_scroll_l = qmenu_loop.scrollLeft;
- qmenu_timer = setInterval(function(){
- qmenu_scroll(qmenu_lr);
- }, 10);
- }
- }
- function qmenu_scroll(qmenu_lr){
- if((qmenu_lr == 1 && qmenu_loop.scrollLeft >= qmenu_width + qmenu_scroll_l) || (qmenu_lr == 0 && ((qmenu_loop.scrollLeft <= qmenu_scroll_l - qmenu_width) || qmenu_loop.scrollLeft == 0))){
- clearInterval(qmenu_timer);
- qmenu_in = 0;
- }else{
- if(qmenu_lr == 1){
- qmenu_loop.scrollLeft += Math.round((qmenu_width + qmenu_scroll_l - qmenu_loop.scrollLeft) / 15) + 1;
- }else{
- qmenu_loop.scrollLeft -= Math.round((qmenu_width - (qmenu_scroll_l - qmenu_loop.scrollLeft)) / 15) + 1;
- }
- }
- }
- </script>
复制代码
另外再打开 template\discuzx5\common\extend_common.css,在最下面添加:
- /*导航弹窗*/
- /* 1. 先重置整个下拉弹窗容器的背景和边框 */
- #hds .p_pop {
- background: #FFFFFF !important;
- border: 1px solid #E4E7ED !important;
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
- border-radius: 4px !important;
- padding: 6px !important;
- }
- /* 2. 针对里面的每一个链接(菜单项)进行统一排版 */
- =#hds .p_pop a {
- display: block !important;
- width: auto !important;
- min-width: 100px !important;
- height: 36px !important;
- line-height: 36px !important;
- padding: 0 15px !important;
- margin: 2px 0 !important;
- border: 1px solid transparent !important; /* 默认透明边框,防止抖动 */
- background: #FFFFFF !important;
- color: #606266 !important;
- text-align: left !important; /* 文字居中(若想靠左可改 nav-align left) */
- box-shadow: none !important;
- border-radius: 4px !important;
- font-size: 14px !important;
- }
-
- /* 3. 鼠标悬停时的样式(模仿图片中的清爽蓝白风格) */
- #hds .p_pop a:hover {
- color: #1890ff !important;
- background: #F0F7FF !important; /* 浅蓝色背景,或者改成你图中的 #F2F2F2 */
- border: 1px solid #d1e9ff !important; /* 悬停时带淡淡的边框,就像截图里那样 */
- text-decoration: none !important;
- }
- /*切换语言弹窗*/
- .header-i18n .i18n-content .i18n-item a {
- display: block !important;
- width: auto !important;
- min-width: 100px !important;
- height: 36px !important;
- line-height: 36px !important;
- padding: 0 15px !important;
- margin: 2px 0 !important;
- border: 1px solid transparent !important; /* 默认透明边框,防止抖动 */
- background: #FFFFFF !important;
- color: #606266 !important;
- box-shadow: none !important;
- border-radius: 4px !important;
- font-size: 14px !important;
- }
- .header-i18n .i18n-content .i18n-item :hover {
- color: #1890ff !important;
- background: #F0F7FF !important; /* 浅蓝色背景,或者改成你图中的 #F2F2F2 */
- border: 1px solid #d1e9ff !important; /* 悬停时带淡淡的边框,就像截图里那样 */
- text-decoration: none !important;
- }
- /*消息提示弹窗*/
- .header-notice .notice-content .notice-item a {
- display: block !important;
- width: auto !important;
- min-width: 100px !important;
- height: 36px !important;
- line-height: 36px !important;
- padding: 0 15px !important;
- margin: 2px 0 !important;
- border: 1px solid transparent !important; /* 默认透明边框,防止抖动 */
- background: #FFFFFF !important;
- color: #606266 !important;
- box-shadow: none !important;
- border-radius: 4px !important;
- font-size: 14px !important;
- }
- .header-notice .notice-content .notice-item :hover {
- color: #1890ff !important;
- background: #F0F7FF !important; /* 浅蓝色背景,或者改成你图中的 #F2F2F2 */
- border: 1px solid #d1e9ff !important; /* 悬停时带淡淡的边框,就像截图里那样 */
- text-decoration: none !important;
- }
- /*end*/
复制代码
|
|