提交
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
/.idea
|
||||
/runtime
|
||||
/data
|
||||
/doc
|
||||
|
||||
@@ -219,7 +219,6 @@
|
||||
<li class=""><a href="/">{:lang('index.home')}</a></li>
|
||||
<li class=""><a href="{:url('visa/index')}">{:lang('index.online_application')}</a></li>
|
||||
<li class=""><a href="{:url('lookup/index')}">{:lang('index.entry_card_query')}</a></li>
|
||||
<li class=""><a href="{:url('contact/index')}">{:lang('contact.menu_contact')}</a></li>
|
||||
<li class=""><a href="{:url('news/index')}">{:lang('index.usage_help')}</a></li>
|
||||
<div class="language-switcher nav-language-switcher">
|
||||
<button class="language-btn" id="languageBtn">
|
||||
|
||||
@@ -20,7 +20,10 @@
|
||||
|
||||
<!-- ===== 新增:悬浮客服/返回顶部(小模块很实用) ===== -->
|
||||
<div class="float-help">
|
||||
<a class="float-btn" href="/home/contact" title="{:lang('contact.menu_contact')}"><i class="bi bi-chat-dots"></i></a>
|
||||
<a class="float-btn float-phone" href="tel:{$company_phone}" title="{$company_phone}">
|
||||
<i class="bi bi-chat-dots"></i>
|
||||
<span class="float-phone-tooltip">{$company_phone}</span>
|
||||
</a>
|
||||
<a class="float-btn" href="#" title="{:lang('contact.back_to_top')}" onclick="window.scrollTo({top:0,behavior:'smooth'});return false;">
|
||||
<i class="bi bi-arrow-up"></i>
|
||||
</a>
|
||||
|
||||
@@ -1,57 +1,47 @@
|
||||
<!-- ===== Topbar / Navbar ===== -->
|
||||
<header class="topbar">
|
||||
<nav class="navbar navbar-expand-xl">
|
||||
<div class="container py-2 topbar-inner">
|
||||
|
||||
<!-- 顶栏:永远一行 -->
|
||||
<div class="topbar-head">
|
||||
<a class="brand-wrap" href="#">
|
||||
<a class="brand-wrap" href="{$base_path}/">
|
||||
<span class="brand-badge brand-badge-logo"></span>
|
||||
<span>
|
||||
<div class="brand-title">{$country}TDAC</div>
|
||||
<div class="brand-sub">Online Application Service</div>
|
||||
</span>
|
||||
<span class="brand-title">{$country}TDAC</span>
|
||||
<span class="brand-sub">Online Application Service</span>
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<div class="topbar-right">
|
||||
<!-- 手机端语言:始终显示,不进折叠菜单 -->
|
||||
<div class="dropdown lang-mobile d-lg-none">
|
||||
<button class="btn btn-sm lang-btn dropdown-toggle" data-bs-toggle="dropdown">{if $think_lang == 'en-us'}English{else/}中文 {/if}</button>
|
||||
<ul class="dropdown-menu dropdown-menu-end">
|
||||
<li><a class="dropdown-item language" data-id="zh-cn" href="#">中文</a></li>
|
||||
<li><a class="dropdown-item language" data-id="en-us" href="#">English</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<button class="navbar-toggler d-xl-none text-white border-0" type="button"
|
||||
data-bs-toggle="collapse" data-bs-target="#nav">
|
||||
<button class="navbar-toggler d-xl-none text-white border-0" type="button"
|
||||
data-bs-toggle="collapse"
|
||||
data-bs-target="#nav"
|
||||
aria-controls="nav"
|
||||
aria-expanded="false"
|
||||
aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon" style="filter: invert(1)"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 折叠菜单:永远在下一行展开 -->
|
||||
<div class="collapse navbar-collapse" id="nav">
|
||||
<ul class="navbar-nav ms-auto align-items-lg-center gap-lg-2 mt-2 mt-lg-0">
|
||||
<ul class="navbar-nav mx-auto align-items-lg-center gap-lg-2 mt-2 mt-lg-0">
|
||||
<li class="nav-item"><a class="nav-link" href="{$base_path}/">{:lang('index.home')}</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="{:url('visa/index')}">{:lang('index.online_application')}</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="{:url('lookup/index')}">{:lang('index.entry_card_query')}</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="{:url('contact/index')}">{:lang('contact.menu_contact')}</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="{:url('news/index')}">{:lang('index.usage_help')}</a></li>
|
||||
|
||||
<!-- PC 端语言:仍放在菜单里(手机端隐藏避免重复) -->
|
||||
<li class="nav-item dropdown ms-lg-2 d-none d-lg-block">
|
||||
<button class="btn btn-sm lang-btn dropdown-toggle" data-bs-toggle="dropdown">{if $think_lang == 'en-us'}English{else/}中文 {/if}</button>
|
||||
<ul class="dropdown-menu dropdown-menu-end">
|
||||
<li><a class="dropdown-item language" data-id="zh-cn" href="#">中文</a></li>
|
||||
<li><a class="dropdown-item language" data-id="en-us" href="#">English</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="nav-user-actions">
|
||||
<a class="nav-user-link" href="{:url('user/index')}">
|
||||
<i class="bi bi-person-circle"></i><span>个人中心</span>
|
||||
</a>
|
||||
{if session('user.id')}
|
||||
<a class="nav-user-link nav-user-link--plain" href="{:url('login/logout')}">
|
||||
<i class="bi bi-box-arrow-right"></i><span>退出</span>
|
||||
</a>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</nav>
|
||||
</header>
|
||||
<script>
|
||||
|
||||
@@ -384,6 +384,7 @@ footer a:hover{ color:#fff; text-decoration:underline; }
|
||||
gap: 10px;
|
||||
}
|
||||
.float-btn{
|
||||
position: relative;
|
||||
width: 46px; height: 46px;
|
||||
border-radius: 14px;
|
||||
border: 1px solid rgba(15,23,42,.12);
|
||||
@@ -393,6 +394,28 @@ footer a:hover{ color:#fff; text-decoration:underline; }
|
||||
color: rgba(15,23,42,.75);
|
||||
}
|
||||
.float-btn:hover{ color: var(--brand); border-color: rgba(11,95,168,.25); }
|
||||
.float-phone-tooltip{
|
||||
position: absolute;
|
||||
right: 56px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
padding: 8px 12px;
|
||||
border-radius: 8px;
|
||||
background: #0b1220;
|
||||
color: #fff;
|
||||
font-size: 13px;
|
||||
line-height: 1;
|
||||
white-space: nowrap;
|
||||
box-shadow: 0 12px 26px rgba(2,6,23,.16);
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
pointer-events: none;
|
||||
transition: opacity .18s ease, visibility .18s ease;
|
||||
}
|
||||
.float-phone:hover .float-phone-tooltip{
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
}
|
||||
/* ===== Flow Stepper v2 ===== */
|
||||
.flow2{
|
||||
border: 1px solid var(--line);
|
||||
@@ -537,8 +560,8 @@ footer a:hover{ color:#fff; text-decoration:underline; }
|
||||
text-decoration:none;
|
||||
min-width: 0;
|
||||
}
|
||||
.topbar .brand-title{ font-weight:700; letter-spacing:.2px; line-height:1.1; }
|
||||
.topbar .brand-sub{ font-size:12px; opacity:.85; }
|
||||
.topbar .brand-title{ display:block; font-weight:700; letter-spacing:.2px; line-height:1.1; }
|
||||
.topbar .brand-sub{ display:block; font-size:12px; opacity:.85; }
|
||||
.topbar .brand-title,
|
||||
.topbar .brand-sub{ white-space: nowrap; } /* 避免抖动 */
|
||||
|
||||
@@ -567,6 +590,34 @@ footer a:hover{ color:#fff; text-decoration:underline; }
|
||||
color:#fff !important;
|
||||
background: rgba(255,255,255,.08) !important;
|
||||
}
|
||||
.topbar .nav-user-actions{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
gap: 8px;
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
.topbar .nav-user-link{
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
min-height: 34px;
|
||||
padding: 0 10px;
|
||||
border: 1px solid rgba(255,255,255,.28);
|
||||
border-radius: 8px;
|
||||
color: rgba(255,255,255,.9);
|
||||
text-decoration: none;
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
white-space: nowrap;
|
||||
background: rgba(255,255,255,.06);
|
||||
}
|
||||
.topbar .nav-user-link:hover{
|
||||
color: #fff;
|
||||
border-color: rgba(255,255,255,.42);
|
||||
background: rgba(255,255,255,.12);
|
||||
text-decoration: none;
|
||||
}
|
||||
.navbar-collapse{
|
||||
text-align: center;
|
||||
}
|
||||
@@ -577,7 +628,7 @@ footer a:hover{ color:#fff; text-decoration:underline; }
|
||||
}
|
||||
.topbar .navbar-collapse{
|
||||
flex: 1 1 auto;
|
||||
justify-content: flex-end; /* 菜单靠右 */
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
/* PC 不需要右侧(手机语言 + 汉堡),避免空盒子影响对齐 */
|
||||
@@ -606,6 +657,12 @@ footer a:hover{ color:#fff; text-decoration:underline; }
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.topbar .nav-user-actions{
|
||||
width: 100%;
|
||||
justify-content: center;
|
||||
padding: 4px 0 2px;
|
||||
}
|
||||
|
||||
/* 右侧按钮统一高度对齐 */
|
||||
.topbar .lang-btn{
|
||||
height: 34px;
|
||||
|
||||
Reference in New Issue
Block a user