This commit is contained in:
ken 2026-07-29 14:19:15 +08:00
parent 6bf57a04e3
commit f1088f1188
23 changed files with 374 additions and 292 deletions

View File

@ -292,103 +292,80 @@
} }
}, },
ClickMenuHandler: function() { ClickMenuHandler: function() {
// 處理主選單切換(漢堡 icon) // 處理主選單切換(漢堡 icon)
$(document).on('click', '.navbar-toggle', function (e) { $(document).on('click', '.navbar-toggle', function (e) {
e.preventDefault(); e.preventDefault();
// 確保 .navbar-toggle 放到 .modules-menu 後面 // 確保 .navbar-toggle 放到 .modules-menu 後面
$('.mobile-menu').each(function () { $('.mobile-menu').each(function () {
var $menu = $(this); var $menu = $(this);
if ($menu.find('.modules-menu').length && !$menu.find('.modules-menu + .navbar-toggle').length) { if ($menu.find('.modules-menu').length && !$menu.find('.modules-menu + .navbar-toggle').length) {
$menu.find('.modules-menu').after($menu.find('.navbar-toggle')); $menu.find('.modules-menu').after($menu.find('.navbar-toggle'));
}
});
$('.mobile-menu').toggleClass('active');
$('body').toggleClass('noscroll');
// ★ 修正:依據 active 狀態決定 collapsed 的加/移除
if ($('.mobile-menu').hasClass('active')) {
$('.mobile-menu .navbar-toggle').removeClass('collapsed'); // 打開 → 叉叉
} else {
$('.mobile-menu .navbar-toggle').addClass('collapsed'); // 關閉 → 三條橫線
}
// 關閉所有下拉選單
$('.mobile-menu1 > ul, .mobile-menu2 > ul').slideUp(500);
$('.mobile-menu1 > .menu-drop, .mobile-menu2 > .menu-drop').removeClass('opened');
// 無障礙:聚焦第一個互動元素
if ($('.mobile-menu').hasClass('active')) {
setTimeout(function () {
$('.modules-menu').find('input, button, select, textarea, a').first().focus();
}, 100);
} }
}); });
// ✅ Tab 鍵跳過 .mobile-menu 時,觸發收合邏輯 $('.mobile-menu').toggleClass('active');
$(document).on('focusout', '.mobile-menu', function(e) { $('body').toggleClass('noscroll');
$('.mobile-menu .navbar-toggle').removeClass('collapsed');
// 關閉所有下拉選單
$('.mobile-menu1 > ul, .mobile-menu2 > ul').slideUp(500);
$('.mobile-menu1 > .menu-drop, .mobile-menu2 > .menu-drop').removeClass('opened');
// 無障礙:聚焦第一個互動元素
if ($('.mobile-menu').hasClass('active')) {
setTimeout(function () {
$('.modules-menu').find('input, button, select, textarea, a').first().focus();
}, 100);
}
});
// ✅ Tab 鍵跳過 .navbar-toggle 時,觸發與點擊相同的收合邏輯
$(document).on('focusout', '.mobile-menu', function(e) {
setTimeout(function() { setTimeout(function() {
var $newFocus = $(document.activeElement); var $newFocus = $(document.activeElement);
// 焦點已離開 .mobile-menu 且選單是展開狀態
// 焦點在 body 時代表滑鼠正在點擊中,不處理 if ($('.mobile-menu').hasClass('active') && $newFocus.closest('.mobile-menu').length === 0) {
if ($newFocus.is('body')) return; // ✅ 直接 trigger click,與按下 .navbar-toggle 執行完全相同的動作
$('.navbar-toggle').first().trigger('click');
if ($('.mobile-menu').hasClass('active') && $newFocus.closest('.mobile-menu').length === 0) {
var $btn = $('.navbar-toggle').first();
if ($btn.attr('data-bs-toggle')) {
var target = $btn.attr('data-bs-target');
var bsCollapse = window.bootstrap && bootstrap.Collapse.getInstance($(target)[0]);
if (bsCollapse) bsCollapse.hide();
$('.mobile-menu').removeClass('active');
$('body').removeClass('noscroll');
$('.mobile-menu .navbar-toggle').addClass('collapsed');
$('.mobile-menu1 > ul, .mobile-menu2 > ul').slideUp(500);
$('.mobile-menu1 > .menu-drop, .mobile-menu2 > .menu-drop').removeClass('opened');
} else {
$btn.trigger('click');
} }
}
}, 50); }, 50);
}); });
$('.mobile-menu1 > .menu-drop').click(function(){ $('.mobile-menu1 > .menu-drop').click(function(){
var $that = $(this); var $that = $(this);
var opencheck1 = $that.hasClass('opened'); var opencheck1 = $that.hasClass('opened');
if ( opencheck1 == 0 ) { if ( opencheck1 == 0 ) {
$('.mobile-menu1 > ul').not($that.siblings('ul')).slideUp(500); $('.mobile-menu1 > ul').not($that.siblings('ul')).slideUp(500);
$('.mobile-menu1 > .menu-drop').not($that).removeClass('opened'); $('.mobile-menu1 > .menu-drop').not($that).removeClass('opened');
$('.mobile-menu2 > ul').slideUp(500); $('.mobile-menu2 > ul').slideUp(500);
$('.mobile-menu2 > .menu-drop').removeClass('opened'); $('.mobile-menu2 > .menu-drop').removeClass('opened');
$that.siblings('ul').slideDown(500); $that.siblings('ul').slideDown(500);
$that.addClass('opened'); $that.addClass('opened');
} else if (opencheck1 == 1) { } else if (opencheck1 == 1) {
$that.siblings('ul').slideUp(500); $that.siblings('ul').slideUp(500);
$('.mobile-menu2 > ul').slideUp(500); $('.mobile-menu2 > ul').slideUp(500);
$('.mobile-menu2 > .menu-drop').removeClass('opened'); $('.mobile-menu2 > .menu-drop').removeClass('opened');
$that.removeClass('opened'); $that.removeClass('opened');
} }
}) })
$('.mobile-menu2 > .menu-drop').click(function(){ $('.mobile-menu2 > .menu-drop').click(function(){
var $that = $(this); var $that = $(this);
var opencheck2 = $that.hasClass('opened'); var opencheck2 = $that.hasClass('opened');
if ( opencheck2 == 0 ) { if ( opencheck2 == 0 ) {
$('.mobile-menu2 > ul').not($that.siblings('ul')).slideUp(500); $('.mobile-menu2 > ul').not($that.siblings('ul')).slideUp(500);
$('.mobile-menu2 > .menu-drop').not($that).removeClass('opened'); $('.mobile-menu2 > .menu-drop').not($that).removeClass('opened');
$that.siblings('ul').slideDown(500); $that.siblings('ul').slideDown(500);
$that.addClass('opened'); $that.addClass('opened');
} else if (opencheck2 == 1) { } else if (opencheck2 == 1) {
$that.siblings('ul').slideUp(500); $that.siblings('ul').slideUp(500);
$that.removeClass('opened'); $that.removeClass('opened');
} }
}) })
} }
}; };
// 把orbit物件加到window物件裡面並改名為ORBITFRONT來減少名稱衝突的機會 // 把orbit物件加到window物件裡面並改名為ORBITFRONT來減少名稱衝突的機會
@ -653,7 +630,7 @@
} }
}); });
if (document.documentElement.lang === 'zh_tw') { if (document.documentElement.lang === 'zh_tw') {
document.documentElement.lang = 'zh-Hant'; document.documentElement.lang = 'zh-Hant-TW';
} }
//tab鍵按下 //tab鍵按下
$(document).on('keydown', function(e) { $(document).on('keydown', function(e) {
@ -766,20 +743,20 @@
$(this).attr("style", newStyle); $(this).attr("style", newStyle);
} }
}); });
//表格scope // //表格scope
$("table").each(function() { // $("table").each(function() {
$(this).find("tr").each(function(rowIndex) { // $(this).find("tr").each(function(rowIndex) {
$(this).find("th").each(function(colIndex) { // $(this).find("th").each(function(colIndex) {
if (rowIndex === 0) { // if (rowIndex === 0) {
// 第一列的 th,適用於該欄 // // 第一列的 th,適用於該欄
$(this).attr("scope", "col"); // $(this).attr("scope", "col");
} else if (colIndex === 0) { // } else if (colIndex === 0) {
// 其他列的第一個 th,適用於該行 // // 其他列的第一個 th,適用於該行
$(this).attr("scope", "row"); // $(this).attr("scope", "row");
} // }
}); // });
}); // });
}); // });
$(".banner-pager button").addClass('banner-pagerbtn'); $(".banner-pager button").addClass('banner-pagerbtn');
$(".banner-pager button").attr("type","button"); $(".banner-pager button").attr("type","button");
$(".banner-pager button").append('<span style="display: none;">下一張</span>'); $(".banner-pager button").append('<span style="display: none;">下一張</span>');
@ -975,7 +952,7 @@ $(function() {
var urlParams = new URLSearchParams(window.location.search); var urlParams = new URLSearchParams(window.location.search);
var isEditMode = urlParams.get('editmode') === 'on'; var isEditMode = urlParams.get('editmode') === 'on';
var pageLang = $('html').attr('lang') || 'zh-Hant'; var pageLang = $('html').attr('lang') || 'zh-Hant-TW';
var isEn = pageLang.toLowerCase().startsWith('en'); var isEn = pageLang.toLowerCase().startsWith('en');
var i18n = { var i18n = {
@ -1536,92 +1513,7 @@ $(function() {
resizeTimer = setTimeout(fixAccessKeyM, 150); resizeTimer = setTimeout(fixAccessKeyM, 150);
}); });
}); });
//公告頁籤無障礙
$(function() {
function fixTabLinearOrder() {
// 只處理內部含有 .tab_nav 的 .w-annc
var $targetAnnc = $('.w-annc').filter(function() {
return $(this).find('.tab_nav').length > 0;
});
// 若頁面上沒有符合條件的 .w-annc,直接離開
if ($targetAnnc.length === 0) return;
var $tabs = $targetAnnc.find('.filter_tab');
var $anncList = $targetAnnc.find('.w-annc__list');
// --- 1. 順向遊走:標籤 -> 對應內容 ---
$tabs.on('keydown', function(e) {
if (e.which === 9 && !e.shiftKey) {
var category = $(this).data('category');
var $scope = $(this).closest('.w-annc'); // 限定在同一個 .w-annc
var $visibleItems = $scope.find('.w-annc__item[data-category="' + category + '"]:visible');
if ($visibleItems.length > 0) {
var $firstLink = $visibleItems.find('a').first();
if ($firstLink.length > 0) {
e.preventDefault();
$firstLink.focus();
}
}
}
if (e.which === 13 || e.which === 32) {
e.preventDefault();
$(this).click();
}
});
// --- 2. 反向遊走:內容 -> 對應標籤 ---
$anncList.on('keydown', '.w-annc__item a', function(e) {
var $currentLink = $(this);
var $currentItem = $currentLink.closest('.w-annc__item');
var $scope = $currentLink.closest('.w-annc'); // 限定在同一個 .w-annc
var category = $currentItem.data('category');
var $visibleItems = $scope.find('.w-annc__item[data-category="' + category + '"]:visible');
if (e.which === 9 && e.shiftKey) {
if ($currentLink.is($visibleItems.find('a').first())) {
e.preventDefault();
$scope.find('.filter_tab[data-category="' + category + '"]').focus();
}
}
if (e.which === 9 && !e.shiftKey) {
if ($currentLink.is($visibleItems.find('a').last())) {
var $currentTab = $scope.find('.filter_tab[data-category="' + category + '"]');
var $nextTab = $currentTab.next('.filter_tab');
if ($nextTab.length > 0) {
e.preventDefault();
$nextTab.focus();
$nextTab.click();
}
}
}
});
// --- 3. 反向遊走:標籤 -> 上一個標籤的內容最後一個連結 ---
$tabs.on('keydown', function(e) {
if (e.which === 9 && e.shiftKey) {
var $scope = $(this).closest('.w-annc'); // 限定在同一個 .w-annc
var $prevTab = $(this).prev('.filter_tab');
if ($prevTab.length > 0) {
var prevCategory = $prevTab.data('category');
$prevTab.click();
var $prevItems = $scope.find('.w-annc__item[data-category="' + prevCategory + '"]:visible');
var $lastLink = $prevItems.find('a').last();
if ($lastLink.length > 0) {
e.preventDefault();
$lastLink.focus();
}
}
}
});
}
fixTabLinearOrder();
});
//導覽選單子選單無障礙狀態修正 (支援多層級) //導覽選單子選單無障礙狀態修正 (支援多層級)
function fixNavMenuA11y() { function fixNavMenuA11y() {
const $navItems = $('#main-nav li'); const $navItems = $('#main-nav li');
@ -1687,62 +1579,222 @@ $(function() {
// 延遲執行,確保動態產生的選單也能被補強 // 延遲執行,確保動態產生的選單也能被補強
setTimeout(fixEmptyHref, 500); setTimeout(fixEmptyHref, 500);
}); });
//頁籤無障礙 //公告頁籤無障礙
$(function() { $(function() {
/** function fixTabLinearOrder() {
* 頁籤導覽 (Tab Navigation) 無障礙補強 var $targetAnnc = $('.w-annc').filter(function() {
* 1. 容器加入 role="tablist" return $(this).find('.tab_nav').length > 0;
* 2. 項目加入 role="tab"
* 3. 動態切換 aria-selected="true/false"
* 4. 確保 Enter 鍵可以觸發切換 (針對 tabindex="0" 的優化)
*/
function fixTabAccessibility() {
var $tabNav = $('.tab_nav');
var $tabs = $tabNav.find('.filter_tab');
// --- 1. 初始化結構語意 ---
$tabNav.attr('role', 'tablist');
$tabs.each(function() {
var $this = $(this);
var isActive = $this.hasClass('active');
// 加入頁籤角色與選取狀態
$this.attr({
'role': 'tab',
'aria-selected': isActive ? 'true' : 'false'
});
// 修正 Title:讓使用者知道這是切換頁籤
var tabName = $this.text().trim();
$this.attr('title', '切換至 ' + tabName);
}); });
// --- 2. 監聽切換事件 (點擊或鍵盤) --- if ($targetAnnc.length === 0) return;
// 假設原本已有切換邏輯,我們在此「補強」屬性的變更
$tabs.on('click', function() {
var $clickedTab = $(this);
// 先將所有頁籤設為未選取 var $tabs = $targetAnnc.find('.filter_tab');
$tabs.attr('aria-selected', 'false'); var $anncList = $targetAnnc.find('.w-annc__list');
// 將當前點擊的頁籤設為已選取 // 智慧判斷:偵測 filter_tab 用哪個屬性來分類
$clickedTab.attr('aria-selected', 'true'); // 優先用 data-tags(若有值),否則用 data-category
}); function getTabKey($tab) {
var tags = $tab.data('tags');
if (tags && tags !== '') return { attr: 'data-tags', value: tags };
var category = $tab.data('category');
if (category && category !== '') return { attr: 'data-category', value: category };
return null;
}
// 根據 key 找對應的可見 w-annc__item
function getVisibleItems($scope, key) {
if (!key) return $();
return $scope.find('.w-annc__item[' + key.attr + '="' + key.value + '"]:visible');
}
// 根據 w-annc__item 反查對應的 filter_tab
function getTabFromItem($item, $scope) {
var tags = $item.data('tags');
if (tags && tags !== '') {
var $tab = $scope.find('.filter_tab[data-tags="' + tags + '"]');
if ($tab.length) return $tab;
}
var category = $item.data('category');
if (category && category !== '') {
var $tab = $scope.find('.filter_tab[data-category="' + category + '"]');
if ($tab.length) return $tab;
}
return $();
}
// --- 3. 鍵盤操作補強 (針對 tabindex="0" 的非按鈕元素) ---
$tabs.on('keydown', function(e) { $tabs.on('keydown', function(e) {
// 當按下 Enter (13) 或 Space (32) 時觸發點擊 var $scope = $(this).closest('.w-annc');
var key = getTabKey($(this));
// 順向 Tab:頁籤 -> 對應內容第一個連結
if (e.which === 9 && !e.shiftKey) {
var $visibleItems = getVisibleItems($scope, key);
if ($visibleItems.length > 0) {
var $firstLink = $visibleItems.find('a').first();
if ($firstLink.length > 0) {
e.preventDefault();
$firstLink.focus();
}
}
}
// 反向 Shift+Tab:頁籤 -> 上一個頁籤的內容最後一個連結
if (e.which === 9 && e.shiftKey) {
var $prevTab = $(this).prev('.filter_tab');
if ($prevTab.length > 0) {
var prevKey = getTabKey($prevTab);
$prevTab.click();
var $prevItems = getVisibleItems($scope, prevKey);
var $lastLink = $prevItems.find('a').last();
if ($lastLink.length > 0) {
e.preventDefault();
$lastLink.focus();
}
}
}
// Enter / Space:切換頁籤並移焦點到內容第一個連結
if (e.which === 13 || e.which === 32) { if (e.which === 13 || e.which === 32) {
e.preventDefault(); e.preventDefault();
$(this).trigger('click'); $(this).click();
var $visibleItems = getVisibleItems($scope, key);
var $firstLink = $visibleItems.find('a').first();
if ($firstLink.length > 0) {
setTimeout(function() { $firstLink.focus(); }, 50);
}
}
});
// 反向遊走:內容 -> 對應標籤;Tab 到最後一個連結跳下一個頁籤
$anncList.on('keydown', '.w-annc__item a', function(e) {
var $currentLink = $(this);
var $currentItem = $currentLink.closest('.w-annc__item');
var $scope = $currentLink.closest('.w-annc');
// 找出當前 item 對應的 filter_tab
var $currentTab = getTabFromItem($currentItem, $scope);
if (!$currentTab.length) return;
// 找出同類別的所有可見 item
var key = getTabKey($currentTab);
var $visibleItems = getVisibleItems($scope, key);
// Shift+Tab:若是第一個連結,跳回對應頁籤
if (e.which === 9 && e.shiftKey) {
if ($currentLink.is($visibleItems.find('a').first())) {
e.preventDefault();
$currentTab.focus();
}
}
// Tab:若是最後一個連結,跳到下一個頁籤並切換
if (e.which === 9 && !e.shiftKey) {
if ($currentLink.is($visibleItems.find('a').last())) {
var $nextTab = $currentTab.next('.filter_tab');
if ($nextTab.length > 0) {
e.preventDefault();
$nextTab.focus();
$nextTab.click();
}
}
} }
}); });
} }
// 延遲執行確保頁籤元件已渲染 setTimeout(fixTabLinearOrder, 500);
});
//頁籤無障礙
$(function () {
function fixTabAccessibility() {
// 各自獨立處理每組 .tab_nav,避免多組時跨區塊操作問題
$('.tab_nav').each(function() {
var $tabNav = $(this);
var $tabs = $tabNav.find('li');
// --- 1. 初始化結構語意 ---
$tabNav.attr('role', 'tablist');
$tabs.each(function () {
var $this = $(this);
var isActive = $this.hasClass('active');
$this.attr({
'role': 'tab',
'aria-selected': isActive ? 'true' : 'false',
'tabindex': isActive ? '0' : '-1'
});
var tabName = $this.text().trim();
$this.attr('title', '切換至 ' + tabName);
});
// --- 2. 點擊事件:更新 aria-selected 與 tabindex ---
$tabs.on('click', function () {
var $clickedTab = $(this);
$tabs.attr('aria-selected', 'false').attr('tabindex', '-1');
$clickedTab.attr('aria-selected', 'true').attr('tabindex', '0');
});
// --- 3. 鍵盤操作補強 ---
$tabs.on('keydown', function (e) {
var $current = $(this);
var currentIndex = $tabs.index($current);
var lastIndex = $tabs.length - 1;
var $target = null;
switch (e.which) {
case 13: // Enter
case 32: // Space
e.preventDefault();
$current.trigger('click');
break;
case 37: // ← 左方向鍵:移到前一個頁籤
case 38: // ↑ 上方向鍵
e.preventDefault();
$target = currentIndex > 0
? $tabs.eq(currentIndex - 1)
: $tabs.eq(lastIndex);
break;
case 39: // → 右方向鍵:移到下一個頁籤
case 40: // ↓ 下方向鍵
e.preventDefault();
$target = currentIndex < lastIndex
? $tabs.eq(currentIndex + 1)
: $tabs.eq(0);
break;
case 36: // Home:跳到第一個頁籤
e.preventDefault();
$target = $tabs.eq(0);
break;
case 35: // End:跳到最後一個頁籤
e.preventDefault();
$target = $tabs.eq(lastIndex);
break;
}
// 移動焦點並觸發點擊切換
if ($target && $target.length) {
$tabs.attr('tabindex', '-1');
$target.attr('tabindex', '0').focus().trigger('click');
}
});
});
}
setTimeout(fixTabAccessibility, 500); setTimeout(fixTabAccessibility, 500);
}); });
//移除 accesskey="W" 之後的 | 符號 //移除 accesskey="W" 之後的 | 符號
$(function() { $(function() {
function removeSeparatorAfterAccesskeyW() { function removeSeparatorAfterAccesskeyW() {
@ -1767,6 +1819,12 @@ $(function() {
if ($('#language-li').is(':empty') || $('#language-li').html().trim() === '') { if ($('#language-li').is(':empty') || $('#language-li').html().trim() === '') {
$('#language-li').remove(); $('#language-li').remove();
}; };
$('.header-nav').each(function() {
const cleaned = $(this).text().replace(/[\s|]/g, '');
if (cleaned === '') {
$(this).remove();
}
});
} }
forFreeGo(); forFreeGo();
@ -2916,6 +2974,9 @@ $(function() {
var target = document.getElementById('gallery-theater-stage'); var target = document.getElementById('gallery-theater-stage');
if (!target) return; if (!target) return;
// 頁面載入時若已存在 #gallery-theater-stage,則還原 z-index
$('.verticalhome').css('z-index', 'auto');
var observer = new MutationObserver(function() { var observer = new MutationObserver(function() {
var display = target.style.display; var display = target.style.display;
if (display === 'block') { if (display === 'block') {

View File

@ -4,13 +4,16 @@
@import "variables"; @import "variables";
.fa-classic, .fa-regular, .fa-solid, .far, .fas ,.fa{ .fa-classic, .fa-regular, .fa-solid, .far, .fas ,.fa{
font-family: var(--fa-style-family, "FontAwesome"); font-family: "FontAwesome";
} }
#orbit-bar .orbit-bar-inner > label:focus, #orbit-bar .orbit-bar-inner > label.focus{ #orbit-bar .orbit-bar-inner > label:focus, #orbit-bar .orbit-bar-inner > label.focus{
.orbit-bar-search-sign-language{ .orbit-bar-search-sign-language{
display: block display: block
} }
} }
#orbit-bar .orbit-bar-menu .orbit-bar-logo{
cursor: unset!important;
}
.login-btn:focus { .login-btn:focus {
outline: 0.3125em auto -webkit-focus-ring-color !important; outline: 0.3125em auto -webkit-focus-ring-color !important;

View File

@ -16,8 +16,8 @@ $theme-red: #d20001;
$theme-blue: #003d7e; $theme-blue: #003d7e;
$theme-color-main: #333333; $theme-color-main: #333333;
$theme-color-second:#999; $theme-color-second:#595959;
$theme-color-third: #999; $theme-color-third: #595959;
$theme-color-green: #32D9C3; $theme-color-green: #32D9C3;
$theme-color-hover:#1e71c1; $theme-color-hover:#1e71c1;

View File

@ -1,6 +1,11 @@
@charset "utf-8"; @charset "utf-8";
@import "../initial"; @import "../initial";
.line-it-button{
.label{
color: #333!important;
}
}
.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9{ .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9{
@media(max-width: $screen-xs){ @media(max-width: $screen-xs){
padding: 0; padding: 0;

View File

@ -1,9 +1,9 @@
@charset "utf-8"; @charset "utf-8";
@import "../initial"; @import "../initial";
#orbit-bar .orbit-bar-title{ // #orbit-bar .orbit-bar-title{
display: none!important; // display: none!important;
} // }
.fc-cal-date-selected-fusion { .fc-cal-date-selected-fusion {
font-size: 1em!important; font-size: 1em!important;
} }

View File

@ -30,9 +30,11 @@ ul.button-mid{
} }
} }
} }
ul.button-mid{ .button-mid {
margin:0; position: absolute;
z-index: 201; width: 100%;
height: 0;
top: 50%;
} }
.banner-pager .active-slide button{ .banner-pager .active-slide button{
background: $theme-color-second!important; background: $theme-color-second!important;

View File

@ -21,10 +21,10 @@ li.filter_tab{
background-color: #fff; background-color: #fff;
border-radius: 0; border-radius: 0;
&:first-child{ &:first-child{
background-color: #FF4500; background-color: #cc3600;
} }
&:nth-child(2){ &:nth-child(2){
background-color: #FF44AA; background-color: #d21e81;
} }
&:nth-child(3){ &:nth-child(3){
background-color: #0044BB; background-color: #0044BB;
@ -2621,12 +2621,6 @@ li.filter_tab{
.i-annc__entry-title { .i-annc__entry-title {
margin-bottom: 0; margin-bottom: 0;
margin-top: 0; margin-top: 0;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
// clear: both;
} }
.i-annc__title { .i-annc__title {
@ -2634,6 +2628,11 @@ li.filter_tab{
color: $theme-color-main; color: $theme-color-main;
text-decoration: none; text-decoration: none;
@extend .i-title; @extend .i-title;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
text-overflow: ellipsis;
overflow: hidden;
&:hover { &:hover {
color: $theme-color-second; color: $theme-color-second;
} }
@ -2670,12 +2669,12 @@ table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before, tabl
.行政公告 .i-annc__category-wrap, .行政公告 .i-annc__category-wrap,
.Announcements .i-annc__category-wrap { .Announcements .i-annc__category-wrap {
background-color: #FF4500; background-color: #cc3600;
} }
.校內活動 .i-annc__category-wrap, .校內活動 .i-annc__category-wrap,
.Campus .i-annc__category-wrap { .Campus .i-annc__category-wrap {
background-color: #FF44AA; background-color: #d21e81;
} }
.校外訊息 .i-annc__category-wrap, .校外訊息 .i-annc__category-wrap,

View File

@ -164,18 +164,18 @@
.i-archive-title { .i-archive-title {
@extend .unity-title; @extend .unity-title;
} }
.link { background-color: #1368d4 !important; } /* 對比 4.6:1 */ .link { background-color: #1368d4 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.txt { background-color: #3a8a40 !important; } /* 對比 4.6:1 */ .txt { background-color: #3a8a40 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.xlsx { background-color: #9e3050 !important; } /* 對比 4.6:1 */ .xlsx { background-color: #9e3050 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.pdf { background-color: #2a7d36 !important; } /* 對比 4.6:1 */ .pdf { background-color: #2a7d36 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.docx { background-color: #5e46a0 !important; } /* 對比 4.6:1 */ .docx { background-color: #5e46a0 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.doc { background-color: #1368d4 !important; } /* 對比 4.6:1 */ .doc { background-color: #1368d4 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.pptx { background-color: #3d4aa0 !important; } /* 對比 4.6:1 */ .pptx { background-color: #3d4aa0 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.jpg { background-color: #8f3333 !important; } /* 對比 4.6:1 */ .jpg { background-color: #8f3333 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.zip { background-color: #8a6400 !important; } /* 對比 4.6:1 */ .zip { background-color: #8a6400 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.rar { background-color: #9e5000 !important; } /* 對比 4.6:1 */ .rar { background-color: #9e5000 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.xls { background-color: #3a8a40 !important; } /* 對比 4.6:1 */ .xls { background-color: #3a8a40 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.odt { background-color: #767676 !important; } /* 對比 4.6:1 */ .odt { background-color: #767676 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.table>caption+thead>tr:first-child>td, .table>caption+thead>tr:first-child>th, .table>colgroup+thead>tr:first-child>td, .table>colgroup+thead>tr:first-child>th, .table>thead:first-child>tr:first-child>td, .table>thead:first-child>tr:first-child>th{ .table>caption+thead>tr:first-child>td, .table>caption+thead>tr:first-child>th, .table>colgroup+thead>tr:first-child>td, .table>colgroup+thead>tr:first-child>th, .table>thead:first-child>tr:first-child>td, .table>thead:first-child>tr:first-child>th{
// border-top: 0.0625em solid #ddd; // border-top: 0.0625em solid #ddd;
} }

View File

@ -54,7 +54,7 @@
line-height: 1.2em; line-height: 1.2em;
text-align: center; text-align: center;
border-radius: 20px; border-radius: 20px;
background-color: #e66b28; background-color: #a83b00;
margin: auto; margin: auto;
margin-bottom: -0.5em; margin-bottom: -0.5em;
z-index: 1; z-index: 1;

View File

@ -427,7 +427,7 @@
& > li { & > li {
position: relative; position: relative;
padding: 1em; padding: 0.5em;
// & + li { // & + li {
// border-top: 0.0625em solid lighten($theme-gray, 5%); // border-top: 0.0625em solid lighten($theme-gray, 5%);
// } // }
@ -437,7 +437,7 @@
font-family: $main-font; font-family: $main-font;
font-weight: 600; font-weight: 600;
color: #686868; color: #686868;
font-size: 1.1em; font-size: 1em;
@media(max-width: 768px){ @media(max-width: 768px){
color: #686868; color: #686868;
} }

View File

@ -439,7 +439,7 @@ img.image-preview {
tr{ tr{
padding:18px 20px 25px 20px; padding:18px 20px 25px 20px;
background-color: #fff; background-color: #fff;
box-shadow: 0 2px 8px 0px #999; box-shadow: 0 2px 8px 0px #6e6e6e;
border-radius:30px; border-radius:30px;
margin: 0.5em; margin: 0.5em;
position: relative; position: relative;

View File

@ -496,7 +496,7 @@
font-family: "Noto Sans TC", PingFangTC, 微軟正黑體, "Microsoft JhengHei", sans-serif; font-family: "Noto Sans TC", PingFangTC, 微軟正黑體, "Microsoft JhengHei", sans-serif;
font-weight: normal; font-weight: normal;
letter-spacing: 0.3px; letter-spacing: 0.3px;
color: #8f8f8f; color: #6e6e6e;
line-height: 1.6; line-height: 1.6;
cursor: pointer; cursor: pointer;
} }
@ -665,7 +665,7 @@
.movie_desc{ .movie_desc{
clear: both; clear: both;
letter-spacing: 0.3px; letter-spacing: 0.3px;
color: #8f8f8f; color: #6e6e6e;
line-height: 1.8; line-height: 1.8;
} }
.video_title { .video_title {
@ -685,7 +685,7 @@
clear: both; clear: both;
} }
.video_group_time{ .video_group_time{
color: #8f8f8f!important; color: #6e6e6e!important;
} }
.movietitle{ .movietitle{
margin-bottom: 15px; margin-bottom: 15px;
@ -950,7 +950,7 @@
// } // }
.video_desc{ .video_desc{
letter-spacing: 0.3px; letter-spacing: 0.3px;
color: #8f8f8f; color: #6e6e6e;
line-height: 1.6; line-height: 1.6;
max-height: 5em; max-height: 5em;
} }

View File

@ -29,7 +29,9 @@
</div> </div>
</div> </div>
<ul class="w-ba-banner__pager-2 banner-pager banner_caption_{{subpart-id}}"></ul> <div class="w-ad-banner__pager-2 w-ba-banner__caption banner-pager banner_caption_{{subpart-id}}" data-list="images" data-level="0">
<li><button title="Slide {{slide_number}}" aria-label="Pager"><span style="display: none;">Slide {{slide_number}}</span></button></li>
</div>
<ul class="controlplay" role="radiogroup" aria-label="播放控制選項"> <ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
<a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive"> <a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
<i aria-hidden="true"></i> <i aria-hidden="true"></i>

View File

@ -6,7 +6,7 @@
<div class="index-content col-xs-4 col-sm-3"> <div class="index-content col-xs-4 col-sm-3">
<div class="index-content-inner"> <div class="index-content-inner">
<div class="index-pic"> <div class="index-pic">
<img class="img-thumbnail" src="{{thumb-src}}" alt="{{alt_title}}"> <img class="img-thumbnail" src="{{thumb-src}}" alt="{{album-name}}">
</div> </div>
<section class="index-part"> <section class="index-part">
<h4 class="index-content-title"> <h4 class="index-content-title">

View File

@ -6,7 +6,7 @@
<div class="index-content col-xs-4 col-sm-3"> <div class="index-content col-xs-4 col-sm-3">
<div class="index-content-inner"> <div class="index-content-inner">
<div class="index-pic"> <div class="index-pic">
<img class="img-thumbnail" src="{{thumb-src}}" alt="{{alt_title}}"> <img class="img-thumbnail" src="{{thumb-src}}" alt="{{album-name}}">
</div> </div>
<section class="index-part"> <section class="index-part">
<h4 class="index-content-title"> <h4 class="index-content-title">

View File

@ -4,15 +4,16 @@
</h3> </h3>
<div class="row" data-level="0" data-list="albums" style="display: flex;flex-wrap: wrap;"> <div class="row" data-level="0" data-list="albums" style="display: flex;flex-wrap: wrap;">
<div class="index-content col-sm-3"> <div class="index-content col-sm-3">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}">
<div class="index-content-inner"> <div class="index-content-inner">
<a href="{{link_to_show}}" title="{{album-name}}">
<div class="index-pic"> <div class="index-pic">
<img class="img-thumbnail" src="{{thumb-src}}" alt="{{alt_title}}"> <img class="img-thumbnail" src="{{thumb-src}}" alt="{{album-name}}">
</div> </div>
</a> </a>
<div class="index-part"> <div class="index-part">
<h4 class="index-content-title"> <h4 class="index-content-title">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}">{{album-name}}</a> <a href="{{link_to_show}}" title="{{album-name}}">{{album-name}}</a>
</h4> </h4>
<div class="index-img-description">{{album-description}}</div> <div class="index-img-description">{{album-description}}</div>
</div> </div>

View File

@ -5,14 +5,14 @@
<div class="row" data-level="0" data-list="albums" style="display: flex;flex-wrap: wrap;"> <div class="row" data-level="0" data-list="albums" style="display: flex;flex-wrap: wrap;">
<div class="index-content"> <div class="index-content">
<div class="index-content-inner clearfix row"> <div class="index-content-inner clearfix row">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}"> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">
<div class="index-pic col-xs-5 col-sm-2"> <div class="index-pic col-xs-5 col-sm-2">
<img class="index-img" src="{{thumb-src}}" alt="{{alt_title}}"> <img class="index-img" src="{{thumb-src}}" alt="{{alt_title}}">
</div> </div>
</a> </a>
<div class="index-part col-xs-7 col-sm-10"> <div class="index-part col-xs-7 col-sm-10">
<h4 class="index-content-title"> <h4 class="index-content-title">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}">{{album-name}}</a> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">{{album-name}}</a>
</h4> </h4>
<div class="index-img-description">{{album-description}}</div> <div class="index-img-description">{{album-description}}</div>
</div> </div>

View File

@ -4,15 +4,15 @@
</h3> </h3>
<div class="row" data-level="0" data-list="albums" style="display: flex;flex-wrap: wrap;"> <div class="row" data-level="0" data-list="albums" style="display: flex;flex-wrap: wrap;">
<div class="index-content col-sm-3"> <div class="index-content col-sm-3">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}"> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">
<div class="index-content-inner"> <div class="index-content-inner">
<div class="index-pic"> <div class="index-pic">
<img class="img-thumbnail" src="{{thumb-src}}" alt="{{alt_title}}"> <img class="img-thumbnail" src="{{thumb-src}}" alt="{{album-name}}">
</div> </div>
</a> </a>
<div class="index-part"> <div class="index-part">
<h4 class="index-content-title"> <h4 class="index-content-title">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}">{{album-name}}</a> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">{{album-name}}</a>
</h4> </h4>
</div> </div>
</div> </div>

View File

@ -5,14 +5,14 @@
<div class="row" data-level="0" data-list="albums" style="display: flex;flex-wrap: wrap;"> <div class="row" data-level="0" data-list="albums" style="display: flex;flex-wrap: wrap;">
<div class="index-content"> <div class="index-content">
<div class="index-content-inner clearfix row"> <div class="index-content-inner clearfix row">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}"> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">
<div class="index-pic col-xs-5 col-sm-2"> <div class="index-pic col-xs-5 col-sm-2">
<img class="index-img" src="{{thumb-src}}" alt="{{alt_title}}"> <img class="index-img" src="{{thumb-src}}" alt="{{alt_title}}">
</div> </div>
</a> </a>
<div class="index-part col-xs-7 col-sm-10"> <div class="index-part col-xs-7 col-sm-10">
<h4 class="index-content-title"> <h4 class="index-content-title">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}">{{album-name}}</a> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">{{album-name}}</a>
</h4> </h4>
</div> </div>

View File

@ -8,11 +8,11 @@
<div class="card-front"> <div class="card-front">
<div class="card-body" style="padding:0;"> <div class="card-body" style="padding:0;">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}"> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">
<img src="{{thumb-src}}"alt="{{alt_title}}"> <img src="{{thumb-src}}"alt="{{alt_title}}">
</a> </a>
<div class="card-footer"> <div class="card-footer">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}"> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">
<h3 class="card-title">{{album-name}}</h3> <h3 class="card-title">{{album-name}}</h3>
</a> </a>
</div> </div>

View File

@ -6,14 +6,14 @@
<div class="index-content col-sm-3"> <div class="index-content col-sm-3">
<div class="index-content-inner"> <div class="index-content-inner">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}"> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">
<div class="index-pic"> <div class="index-pic">
<img class="img-thumbnail" src="{{thumb-src}}" alt="{{alt_title}}"> <img class="img-thumbnail" src="{{thumb-src}}" alt="{{album-name}}">
</div> </div>
</a> </a>
<section class="index-part"> <section class="index-part">
<h4 class="index-content-title"> <h4 class="index-content-title">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}">{{album-name}}</a> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">{{album-name}}</a>
</h4> </h4>
</section> </section>
</div> </div>

View File

@ -14,9 +14,9 @@
</thead> </thead>
<tbody data-level="2" data-list="members"> <tbody data-level="2" data-list="members">
<div class="i-member-pic-wrap"> <div class="i-member-pic-wrap">
<a href="{{link_to_show}}" title="{{name}}">
<img class="i-member-pic img-thumbnail" src="{{image}}" title="{{name}}"> <img class="i-member-pic img-thumbnail" src="{{image}}" alt="{{name}}">
</a>
</div> </div>
<tr class="profile_tr" data-list="profile_data" data-level="3"> <tr class="profile_tr" data-list="profile_data" data-level="3">
<td data-title="{{title}}" class="{{value_class}}">{{value}}</td> <td data-title="{{title}}" class="{{value_class}}">{{value}}</td>
@ -63,6 +63,13 @@ $(document).ready(function () {
}); });
}); });
}); });
setTimeout(function() {
$('[data-title="聯絡資訊"]').each(function() {
var $a = $(this).find('a');
if ($a.length) {
$a.replaceWith($a.contents());
}
});
}, 500);
</script> </script>

View File

@ -7,10 +7,12 @@
<div class="i-member-list" data-level="2" data-list="members"> <div class="i-member-list" data-level="2" data-list="members">
<div class="i-member-item row"> <div class="i-member-item row">
<div class="i-member-item-inner clearfix"> <div class="i-member-item-inner clearfix">
<div class="i-member-pic-wrap col-sm-3"> <div class="i-member-pic-wrap col-sm-3">
<a href="{{link_to_show}}" title="{{name}}"> <a class="" href="{{link_to_show}}" title="{{name}}">
<div class="i-member-pic-wrap ">
<img class="i-member-pic img-thumbnail" src="{{image}}" title="{{name}}"> <img class="i-member-pic img-thumbnail" src="{{image}}" title="{{name}}">
</a> </div>
</a>
</div> </div>
<div class="i-member-profile-data-wrap col-sm-9"> <div class="i-member-profile-data-wrap col-sm-9">
<ul class="i-member-profile-list" data-list="profile_data" data-level="3"> <ul class="i-member-profile-list" data-list="profile_data" data-level="3">