WordPress.org

Make WordPress Core

Opened 4 years ago

Last modified 3 years ago

#11101 new enhancement

Gallery column width calculation needs more granularity

Reported by: akozak Owned by:
Milestone: Future Release Priority: normal
Severity: minor Version:
Component: Gallery Keywords: gsoc has-patch needs-testing
Focuses: Cc:

Description

In line 712 of wp-includes/media.php where the column width is calculated for the gallery css snippet:

$columns = intval($columns);
        $itemwidth = $columns > 0 ? floor(100/$columns) : 100;

        $selector = "gallery-{$instance}";

        $output = apply_filters('gallery_style', "
                <style type='text/css'>
                        #{$selector} {
                                margin: auto;
                        }
                        #{$selector} .gallery-item {
                                float: left;
                                margin-top: 10px;
                                text-align: center;
                                width: {$itemwidth}%;                   }

itemwidth should be calculated as

$itemwidth = $columns > 0 ? round(100/$columns,1) : 100;

This gives the width better precision. I've read that IE ignores the decimal, but it works on at least Firefox, so there is no reason not to let it have a decimal value. You could even increase the number of decimal points.

Attachments (2)

11101.diff (472 bytes) - added by wojtek.szkutnik 4 years ago.
11101.2.diff (713 bytes) - added by designsimply 3 years ago.

Download all attachments as: .zip

Change History (5)

comment:1 scribu4 years ago

  • Milestone changed from Unassigned to Future Release

wojtek.szkutnik4 years ago

comment:2 wojtek.szkutnik4 years ago

  • Cc wojtek.szkutnik@… added
  • Keywords gsoc has-patch needs-testing added

Everything more than two decimal points gets cut to two.

Should work well on Mozilla, and not make any difference on Opera and IE. However, t needs heavy testing.

designsimply3 years ago

comment:3 designsimply3 years ago

The patch still had floor() instead of round(). Attached an updated patch, but also, is this really needed?

Note: See TracTickets for help on using tickets.