久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线

返回列表 發帖
查看: 147|回復: 6

修改dz論壇首頁板塊以tab標題樣式展示

TaC

115

主題

728

回帖

891

積分

自成一派

貢獻
5 點
金幣
2 個


這是幾天前折騰出來的,分享一下。

默認文件下,多少年了,官方一直以展開整個板塊為默認方式。有時總感覺有點占用頁面空間,特別是板塊多的時候。

下面將分享由 Trae 解決的板塊展示問題。

- 1.創建了一個可水平滾動的標題欄,所有分區標題都集中在一行顯示;
- 2.實現了鼠標劃動懸停時切換顯示對應分區內容的功能;
- 3.添加了點擊標題跳轉到對應分區頁面的鏈接功能;
- 4.修復了頁面滾動、間距累積和底部間距過大等布局問題;
- 5.確保了右側邊欄的正常顯示和整體頁面布局的穩定性。

怎么操作呢。
打開論壇首頁文件,查到:
  • <div class="bm bmw {if $cat['forumcolumns']} flg{/if} cl">



默認文件約344行,找到它上面的這二行代碼:
  • <!--{loop $catlist $key $cat}-->
  •                         <!--{hook/index_catlist $cat['fid']}-->



接著在<!--{loop $catlist $key $cat}-->上面添加以下代碼:
  • <!-- 添加可滾動的分類tab容器 -->
  • <style type="text/css">
  • /* 分類標簽容器 */
  • .category-tabs-wrapper {
  •     width: 100%;
  •     overflow-x: auto;
  •     overflow-y: hidden;
  •     white-space: nowrap;
  •     -webkit-overflow-scrolling: touch;
  •     scroll-behavior: smooth;
  •     margin: 10px 0;
  •     padding: 5px 0;
  •     position: relative;
  •     clear: both;
  • }
  • /* 滾動條樣式 */
  • .category-tabs-wrapper::-webkit-scrollbar {
  •     height: 6px;
  • }
  • .category-tabs-wrapper::-webkit-scrollbar-track {
  •     background: #f1f1f1;
  •     border-radius: 3px;
  • }
  • .category-tabs-wrapper::-webkit-scrollbar-thumb {
  •     background: #888;
  •     border-radius: 3px;
  • }
  • .category-tabs-wrapper::-webkit-scrollbar-thumb:hover {
  •     background: #555;
  • }
  • /* 分類標簽樣式 */
  • .category-tab {
  •     display: inline-block;
  •     padding: 8px 12px;
  •     margin-right: 6px;
  •     background: #f5f5f5;
  •     border-radius: 3px;
  •     cursor: pointer;
  •     min-width: 80px;
  •     text-align: center;
  •     transition: all 0.2s ease;
  •     box-sizing: border-box;
  • }
  • .category-tab:hover {
  •     background: #e8e8e8;
  • }
  • .category-tab.active {
  •     background: #0066cc;
  •     color: white;
  • }
  • .category-tab a {
  •     text-decoration: none;
  •     font-weight: bold;
  •     display: block;
  •     font-size: 13px;
  • }
  • .category-tab.active a {
  •     color: white;
  • }
  • /* 內容容器 - 調整底部間距 */
  • .category-content-container {
  •     position: relative;
  •     margin: 15px 0 0 0; /* 只保留上邊距,移除下邊距 */
  •     clear: both;
  •     min-height: 200px; /* 減小最小高度 */
  •     padding-bottom: 0; /* 確保沒有底部內邊距 */
  • }
  • /* 確保右側邊欄正常顯示 */
  • #sd {
  •     float: right !important;
  •     display: block !important;
  • }
  • /* 確保內容區域位置穩定 */
  • .bm {
  •     position: relative;
  •     clear: both;
  •     margin-bottom: 0 !important; /* 強制移除底部邊距 */
  • }
  • #ct {
  •     position: relative;
  •     clear: both;
  • }
  • /* 修復底部間距問題的關鍵樣式 */
  • .category-content-container + * {
  •     margin-top: 10px !important; /* 限制內容容器后的元素上邊距 */
  • }
  • /* 移除可能的多余空元素 */
  • .category-content-container .bm {
  •     margin-bottom: 0 !important;
  • }
  • </style>
  • <!-- 分類標簽容器 - 添加鏈接 -->
  • <div class="category-tabs-wrapper" id="category-tabs">
  •     <!--{loop $catlist $key $cat}-->
  •         <div class="category-tab" id="tab_$cat[fid]">
  •             <!-- 添加真實鏈接,使用fid構建forumdisplay頁面URL -->
  •             <a href="forum.php?gid=$cat[fid]">$cat[name]</a>
  •         </div>
  •     <!--{/loop}-->
  • </div>
  • <!-- 固定的內容容器 -->
  • <div class="category-content-container" id="content-container">
  •     <!-- 這里將動態加載對應的分區內容 -->
  • </div>
  • <script type="text/javascript">
  • jQuery(function($) {
  •     // 計算每個tab的百分比寬度
  •     var tabs = $('.category-tab');
  •     var tabCount = tabs.length;
  •     // 為每個tab設置寬度
  •     tabs.each(function() {
  •         var percentWidth = Math.min(20, Math.max(10, 80 / tabCount));
  •         $(this).css('width', percentWidth + '%');
  •     });
  •     // 設置第一個tab為激活狀態
  •     tabs.first().addClass('active');
  •     // 獲取所有分區內容元素
  •     var categoryContents = $('div[id^="category_"]');
  •     // 保存原始分區內容到變量中,然后從DOM中移除
  •     var contentMap = {};
  •     categoryContents.each(function() {
  •         var id = $(this).attr('id');
  •         var fid = id.replace('category_', '');
  •         contentMap[fid] = $(this).html();
  •         $(this).remove(); // 從DOM中移除原始內容
  •     });
  •     // 初始顯示第一個分區內容
  •     if (tabs.length > 0) {
  •         var firstTabId = tabs.first().attr('id');
  •         var firstFid = firstTabId.replace('tab_', '');
  •         if (contentMap[firstFid]) {
  •             $('#content-container').html(contentMap[firstFid]);
  •             // 移除內容中可能導致間距過大的元素
  •             $('#content-container .bm').css('margin-bottom', '0');
  •         }
  •     }
  •     // 添加觸摸滑動支持
  •     var isScrolling = false;
  •     var startX, endX;
  •     $('#category-tabs').on('touchstart', function(e) {
  •         startX = e.originalEvent.touches[0].clientX;
  •         isScrolling = true;
  •     });
  •     $('#category-tabs').on('touchend', function(e) {
  •         endX = e.originalEvent.changedTouches[0].clientX;
  •         var diff = startX - endX;
  •         if (Math.abs(diff) > 50) {
  •             $(this).scrollLeft($(this).scrollLeft() + diff);
  •         }
  •         setTimeout(function() { isScrolling = false; }, 100);
  •     });
  •     // 鼠標懸停時切換分區內容 - 注意不阻止點擊事件
  •     tabs.hover(function() {
  •         if (isScrolling) return;
  •         // 更新激活狀態
  •         tabs.removeClass('active');
  •         $(this).addClass('active');
  •         // 獲取對應的分區ID
  •         var tabId = $(this).attr('id');
  •         var fid = tabId.replace('tab_', '');
  •         // 動態加載對應的分區內容到固定容器中
  •         if (contentMap[fid]) {
  •             $('#content-container').html(contentMap[fid]);
  •             // 移除內容中可能導致間距過大的元素
  •             $('#content-container .bm').css('margin-bottom', '0');
  •         }
  •     });
  •     // 為鏈接添加單獨的點擊處理,確保正常跳轉
  •     $('.category-tab a').on('click', function(e) {
  •         // 這里不需要阻止默認行為,允許鏈接正常跳轉
  •         // 用戶點擊時會跳轉到forumdisplay頁面
  •     });
  •     // 添加鍵盤左右鍵支持
  •     $(document).keydown(function(e) {
  •         if (e.keyCode == 37) {
  •             $('#category-tabs').scrollLeft($('#category-tabs').scrollLeft() - 200);
  •         } else if (e.keyCode == 39) {
  •             $('#category-tabs').scrollLeft($('#category-tabs').scrollLeft() + 200);
  •         }
  •     });
  • });
  • </script>



問題解決,當然,細節上,可能還需你自己調節,和美化一下,以適合你網站的風格。
回復

使用道具 舉報

TaC

115

主題

728

回帖

891

積分

自成一派

貢獻
5 點
金幣
2 個
置頂 來自 7#
 樓主| 發表于 前天 19:37 | 只看Ta
本帖最后由 TaC 于 2025-10-17 23:56 編輯

重新更新一下樣式文件,一樓樣式引起了主題列表頁/主題列表/列表導航后面的最新主題及排序方式這一塊的下拉框錯位;會員組/站點管理組,普通用戶組這塊同樣是下拉框錯位,和框架晃動:
  1. .category-tabs-wrapper {width: 100%; overflow-x: auto; overflow-y: hidden; white-space: nowrap; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; margin: 10px 0; padding: 5px 0; position: relative; clear: both;}
  2. /* 分類標簽樣式 */
  3. .category-tab { display: inline-block; padding: 7px 10px; margin-right: 20px; background:  linear-gradient(132deg,rgba(235,237,240,0.85) 9.65%,rgba(233,236,238,0.5) 58.96%,rgba(254,254,255,0.87) 86.15%);border:1px solid #fff; border-radius: 5px; cursor: pointer; min-width: 80px; text-align: center; transition: all 0.2s ease; box-sizing: border-box;}
  4. .category-tab:hover { background: #e8e8e8;}
  5. .category-tab.active { background: #1985DD; color: white;}
  6. .category-tab a { text-decoration: none; font-weight: bold; display: block; font-size: 13px;}
  7. .category-tab.active a { color: white;}
  8. /* 內容容器 - 調整底部間距 */
  9. .category-content-container { position: relative;margin: 15px 0 0 0;  clear: both; min-height: 150px;  padding-bottom: 0; }
  10. /* 確保內容區域位置穩定 */
  11. #fl .bm { position: relative; clear: both; margin-bottom: 0 !important; }
復制代碼

總算是找到問題所在了,奶的,糾結好多天,看來AI出錯,把簡單的問題搞得復雜。
一樓中,標簽.bm前面加上#fl,解決會員組這一塊的錯位問題。真沒想到一處引起其它頁面問題。


另外,樣式修改后,底部空隙過大,經瀏覽器查看,許多展開,收起默認占用空間。
在添加代碼的下面:
  1. <div class="bm bmw {if $cat['forumcolumns']} flg{/if} cl">
復制代碼
修改為:
  1. <div class="bm bmw {if $cat['forumcolumns']} flg{/if} ">
復制代碼

即去掉后面那個:cl
問題解決。
關于上面有關數據,請根據自己需求更改。


回復

使用道具 舉報

TaC

115

主題

728

回帖

891

積分

自成一派

貢獻
5 點
金幣
2 個
沙發
 樓主| 發表于 5 天前 | 只看Ta
以上是在已經修改的一級分類下的板塊樣式的基礎上,修改而來。由 trae AI提供的原始數據。
至于,沒有前面工作,沒測試過。

重點是,在后臺/論壇,一級板塊下的橫排數目。請根據網站需求,應對更改和使用。
上面方法真的非常簡單,添加的位置就一個地方,一步到位,不用修改其它。但是要隱藏原來標題欄代碼,即 隱藏或刪除標題所在的diy標簽以內的所有代碼。


另外,便于日后管理,請駁離樣式代碼到目前使用的模板樣式文件中,其它放到論壇首頁文件里,即上面所說的文件位置里。
并做好注釋,便于日后程序升級時,方便查找,復制到升級的文件中。
回復

使用道具 舉報

TaC

115

主題

728

回帖

891

積分

自成一派

貢獻
5 點
金幣
2 個
板凳
 樓主| 發表于 5 天前 | 只看Ta
本帖最后由 TaC 于 2025-10-14 17:01 編輯

注意,如果操作前,開啟了論壇首頁邊欄,并且,板塊下,還有DIY模塊(我原來板塊這里是刪除了的,使得的是邊欄掛件。升級x5,又整出來了)。在板塊效果出現后,可能右邊欄跑到下面(我在修改過的板塊邊欄添加了其它模塊,應該不是這個原因)。
并且無法移動,這時就在右邊重新DIY模塊,或添加代碼,再刪除以前的邊欄板塊。不然,當你DIY模塊后,下面的邊欄卻又跑到開始讓它去,卻不去的地方,模塊重復。
這些將根據你的模板現狀來操作,和調整。

所以,在決定操作前,要考慮好,整個首頁是否需要開啟邊欄,以免增加工作量。
至于原因,不詳,可能DIY模塊代碼放的位置不對,也懶得去找了。只要板塊效果達到,就可以了。
回復

使用道具 舉報

TaC

115

主題

728

回帖

891

積分

自成一派

貢獻
5 點
金幣
2 個
地板
 樓主| 發表于 5 天前 | 只看Ta
本帖最后由 TaC 于 2025-10-14 17:05 編輯

下面是效果圖,不包括下面的板塊信息。只是紅框里的標題優化。



板塊信息這塊,更改的地方不是一個,所以,有需要的,再說了。因為它是在其它板塊代碼基礎上,修改來的,涉及到其它代碼,樣式。

回復

使用道具 舉報

120

主題

1001

回帖

1338

積分

已臻大成

貢獻
18 點
金幣
17 個
QQ
5#
發表于 4 天前 | 只看Ta
地址放出來看看效果
回復

使用道具 舉報

TaC

115

主題

728

回帖

891

積分

自成一派

貢獻
5 點
金幣
2 個
6#
 樓主| 發表于 3 天前 | 只看Ta
地址在這個回復帖子里,求助論壇的郵箱發信如何設置 - Discuz! X 教程 - Powered by Discuz! 我 不一一給了,免得人家說我打廣告
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

  • 關注公眾號
  • 有償服務微信
  • 有償服務QQ

手機版|小黑屋|Discuz! 官方交流社區 ( 皖ICP備16010102號 |皖公網安備34010302002376號 )|網站地圖|star

GMT+8, 2025-10-19 02:37 , Processed in 0.062693 second(s), 16 queries , Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

關燈 在本版發帖
有償服務QQ
有償服務微信
返回頂部
快速回復 返回頂部 返回列表
久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线
99精品黄色片免费大全| 99久久99久久精品国产片果冻 | 蜜桃av一区二区三区电影| 国产精品啊v在线| 久久久www成人免费毛片麻豆| 国产精品性做久久久久久| 欧美亚洲国产怡红院影院| 亚洲国产成人高清精品| 99国产精品久久久久久久| 国产精品久久久久久久久果冻传媒| jlzzjlzz国产精品久久| 91精品福利在线一区二区三区| 亚洲1区2区3区4区| 国产亚洲午夜| 亚洲欧美成aⅴ人在线观看| 欧美国产三区| 国产日韩欧美综合一区| 91在线国产观看| 久久综合久久99| 91婷婷韩国欧美一区二区| 国产精品嫩草99a| 国内精品**久久毛片app| 国产精品免费久久| 色综合天天综合网天天看片| 精品99一区二区三区| eeuss鲁片一区二区三区| 欧美大片在线观看| 成人深夜在线观看| 国产麻豆精品在线| 日韩一区二区免费在线电影| 国产成人精品综合在线观看 | 一区二区三区我不卡| 自拍偷自拍亚洲精品播放| 国内揄拍国内精品久久| 国产精品电影一区二区| 一区国产精品| 亚洲影院在线观看| 久久精精品视频| 久久国产精品99精品国产 | 成人动漫中文字幕| 精品精品国产高清a毛片牛牛| thepron国产精品| 欧美激情一区三区| 亚洲国产精品一区二区第四页av| 国产日韩一级二级三级| 亚洲视频狠狠| 亚洲激情欧美激情| 久久久久久久波多野高潮日日| 五月综合激情日本mⅴ| 精品视频在线视频| 国产成人免费在线视频| 久久久久久久久久久黄色| 欧美国产视频在线观看| 亚洲另类春色国产| 久久精品综合一区| 精品一区二区三区在线播放视频| 欧美一区永久视频免费观看| 成人一二三区视频| 久久精品亚洲乱码伦伦中文| 亚洲五月婷婷| 亚洲成人激情自拍| 欧美影视一区在线| 大陆成人av片| 国产日本欧美一区二区| 亚洲国产午夜| 丝袜美腿亚洲一区二区图片| 欧美日韩亚洲国产综合| 波多野结衣在线一区| 国产精品污www在线观看| 国产一区二区三区奇米久涩| 日韩成人精品视频| 日韩限制级电影在线观看| 欧美视频官网| 天堂久久一区二区三区| 欧美日韩免费观看一区三区| 99精品久久久久久| 亚洲一区视频在线观看视频| 在线观看亚洲一区| 99久久婷婷国产综合精品| 国产精品久久久久婷婷二区次| 欧美亚洲一级| 亚洲经典三级| 蜜乳av一区二区| 精品福利av导航| 国产精品一级久久久| 九九九精品视频| 久久综合九色欧美综合狠狠| 亚洲精品婷婷| 国产乱人伦偷精品视频不卡| 国产精品成人午夜| 欧美三级中文字幕| 欧美精品啪啪| 奇米影视一区二区三区小说| 精品国产免费一区二区三区四区| 最新成人av网站| 国内精品视频666| 国产欧美日本一区二区三区| 久久国产高清| 99国产精品久久久| 日韩精品一级二级| 国产日韩欧美a| 91成人看片片| 欧美日韩在线观看一区二区三区| 日本va欧美va瓶| 亚洲国产精品二十页| 日本二三区不卡| 欧美日韩一区二区国产| 另类的小说在线视频另类成人小视频在线| 久久午夜老司机| 欧洲一区二区av| 韩国久久久久| 国产在线视频一区二区| 中文字幕亚洲区| 欧美日韩精品一区视频| 亚洲国产免费| 成人午夜av电影| 午夜伦欧美伦电影理论片| 国产欧美精品一区二区三区四区 | 国产农村妇女毛片精品久久麻豆| 色av一区二区| 亚洲大片av| a美女胸又www黄视频久久| 日韩精品视频网站| 国产亚洲1区2区3区| 欧美色图免费看| 在线一区亚洲| av电影在线观看完整版一区二区| 日韩在线卡一卡二| 中文字幕日韩欧美一区二区三区| 欧美日韩中文字幕一区二区| 一区二区久久| 欧美一区二区三区另类| 国产毛片精品视频| 婷婷国产v国产偷v亚洲高清| 一区精品在线播放| 欧美成人在线直播| 欧美亚洲国产一区二区三区va| 一本色道久久综合亚洲精品不 | 久久人人97超碰国产公开结果| 国产精品二区影院| va亚洲va日韩不卡在线观看| 精品一区二区三区在线观看| 亚洲一区在线视频观看| 国产精品视频线看| 91精品在线观看入口| 久久精品一区| 亚洲美女视频在线免费观看| 国产精品69毛片高清亚洲| 日本特黄久久久高潮| 一区二区三区日韩欧美精品| 久久久亚洲综合| 日韩视频一区二区在线观看| 91成人免费电影| 美女久久一区| 日韩亚洲视频| 黄色亚洲在线| 午夜久久黄色| 成人性生交大片免费看中文| 久久成人精品无人区| 丝袜诱惑制服诱惑色一区在线观看 | 欧美午夜电影在线观看 | 99热国产精品| 成人免费va视频| 国产成人激情av| 韩国理伦片一区二区三区在线播放 | 色综合天天综合| 成人av免费在线观看| 国产美女在线精品| 美女高潮久久久| 日韩成人一区二区| 五月天丁香久久| 亚洲图片有声小说| 亚洲乱码国产乱码精品精小说| 国产精品进线69影院| 亚洲国产电影在线观看| 欧美高清在线视频| 国产网站一区二区| 欧美大片一区二区| 欧美v日韩v国产v| 91.xcao| 欧美人狂配大交3d怪物一区 | 欧美日韩国产一二三| 欧美日韩三级视频| 欧美精品第1页| 91精品国产综合久久蜜臀| 777亚洲妇女| 67194成人在线观看| 91精品国产欧美一区二区成人| 日韩限制级电影在线观看| 日韩欧美在线综合网| 欧美xxxxx裸体时装秀| 久久亚洲欧美国产精品乐播| 久久影视一区二区| 国产精品精品国产色婷婷| 亚洲三级小视频| 亚洲动漫第一页| 奇米亚洲午夜久久精品| 九九九久久久精品| 国产精品99久| 99热精品国产|