[WordPress] 外掛分享: Equal Height Columns

首頁外掛目錄 › Equal Height Columns
WordPress 外掛 Equal Height Columns 的封面圖片
10,000+
安裝啟用
★★★★
4.9/5 分(41 則評價)
34 天前
最後更新
問題解決
WordPress 3.5+ v1.2.1 上架:2015-03-17

內容簡介

Equal Height Columns 外掛可輕鬆地將多個欄位和元素的高度進行等高處理,提升網站的視覺一致性,並確保在不同設備上都能保持良好的顯示效果。

【主要功能】
• 支援無限元素和元素組
• 簡單的 CSS/jQuery 選擇器設定
• 自訂斷點以適應不同螢幕尺寸
• 即時等高處理,無需重新載入頁面
• 完全響應式,隨螢幕大小自動更新
• 可手動觸發等高事件

外掛標籤

開發者團隊

⬇ 下載最新版 (v1.2.1) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「Equal Height Columns」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

Compatible with PHP 8.2
Like this plugin? Please consider leaving a 5-star review.
Equal Height Columns lets you easily equalize the height of various columns and elements.
Features

Target unlimited elements and element groups
Specify simple CSS/jQuery selectors to target elements
Specify breakpoint to kick in only at certain screen sizes
Easy to use admin interface
Heights are equalized immediately after the page has loaded
Fully responsive (automatically updates on resize and orientationchange events)
Works on mobile devices
Works across all modern browsers (including IE8)
Comes with custom event listener to manually trigger
Super small – 8kB jQuery file size
Trigger custom ‘equalheight’ event to force resize

Instructions

Navigate to Settings > Equal Height Columns in the WordPress admin.
Enter a selector and breakpoint for the first column group.
Add/remove column groups by clicking the “+ Add More” and “Remove” buttons.

Advanced
Want to trigger the equalizing of the heights manually? No problem. You can skip entering a selector on the settings page and call the jQuery script yourself using one of two functions:
jQuery( '.selector' ).initEqualHeights();

// Or

jQuery( '.selector' ).equalizeTheHeights();

The difference between these two functions is simply that initEqualHeights() will set up all the events for recalculating the heights when the window is resized or the global equalheights event is triggered, but equalizeTheHeights() will simply equalize the heights without involving any events.
Both functions take three optional arguments, the minimum height (number of pixels), maximum height, and the breakpoint (below which the heights will revert to their original size):
jQuery( '.selector' ).initEqualHeights( minHeight, maxHeight, breakPoint );

So an example might look like this:
jQuery( '.selector' ).initEqualHeights( 200, 500, 768 );

When entering a selector on the settings page or using the initEqualHeights() method this plugin also adds an event ‘equalheights’ to the window, allowing you to easily trigger the equalizing manually. This is useful if you have added new items to the page after it loads via AJAX. You can trigger the event like this:
jQuery( window ).trigger( 'equalheights' );

Another option for controlling which elements get equalized is the equal_height_columns_elements filter. This filter operates on the array of data that gets passed to the JS right before it is passed. This allows for developers to specify selectors that can’t be deleted from the settings page, and for programmaticly building selectors based on dynamic data. Here’s an example of how the filter can be used:
add_filter( 'equal_height_columns_elements', 'custom_ehc_elements' );
function custom_ehc_elements( $elements ) {

$elements['element-groups']['custom'] = array(
'selector' => '.ehc-target', // Selector goes here.
'breakpoint' => '768',
);

return $elements;
}

The keys on the element-groups array used by selectors entered on the settings page will come in as numbered indexes, so to avoid collision it’s best to use named keys for any custom selectors (we’re using ‘custom’ in the example above, but any unique string will work).
This plugin is on Github and pull requests are always welcome.
NEW: Multi rows
On version 1.2.0 we are introducing a new feature (for now, only available via JavaScript) that resolves a common issue if the row number of certain elements varies across breakpoints when the number of columns change.
For example, if we have 2 columns for tablets and 3 columns for desktops, the third element in the group would be positioned on the second row for tablets but on the first row for desktops.
Before this new feature, the equal height would be based on all the elements from the group. Now you can have “subgroups” for each row, and recalculate when the number of columns in the rows change.
To use this new feature add the function once per breakpoint:
jQuery( document ).equalHeight( selector, columns, minWidth, maxWidth );

selector: The selector of the group of elements that you want to apply the equal height.
columns: The number of columns per row on the breakpoint.
minWidth: The minimum width of the breakpoint. Use 1 for mobile.
maxWidth: The maximum width of the breakpoint. You can leave empty for the biggest breakpoint.
The following example would apply equal height for headings with the class .demo-heading in a grid that has 1 column per row on mobile, 2 columns on tablet and 3 columns on desktop:
$( document ).equalHeight( '.demo-heading', 1, 1, 767 ); // 1 columns for 1px - 767px
$( document ).equalHeight( '.demo-heading', 2, 768, 1024 ); // 2 columns for 768px - 1024px
$( document ).equalHeight( '.demo-heading', 3, 1025 ); // 3 columns for 1025px (and above)

延伸相關外掛

文章
Filter
Mastodon