Make sure images that don't have an explicit alignment get aligned right
authorkaldari <rkaldari@wikimedia.org>
Fri, 6 Jun 2014 21:11:48 +0000 (14:11 -0700)
committerGWicke <gwicke@wikimedia.org>
Fri, 6 Jun 2014 23:17:24 +0000 (23:17 +0000)
If the alignment of an image is not explicitly set, Parsoid does not
output an alignment class for the resultant figure element. This can lead
to the image not being aligned/floated.

To fix this we modify content.parsoid.less to apply the default
right-alignment styling to all images and then override this in cases
where the alignment is explicitly set.

Bug: 66282

Change-Id: I4f986f23b0c8ba6f6b66efc07eb38806744123e2

resources/src/mediawiki.skinning/content.parsoid.less

index 081524a..a9f0ab4 100644 (file)
@@ -48,8 +48,9 @@ figure[typeof*='mw:Image'] {
        }
 
        &.mw-halign-center {
-               margin-left: auto;
-               margin-right: auto;
+               margin: 0 auto .5em auto;
+               clear: none;
+               float: none;
        }
 
        figcaption {
@@ -75,6 +76,11 @@ figure[typeof~='mw:Image/Frame'] {
        padding: 3px;
        border: 1px solid #ccc;
        background-color: #f9f9f9;
+       // Default to right alignment. This is needed since Parsoid only specifies the
+       // alignment class when the alignment is explicitly set.
+       margin: .5em 0 1.3em 1.4em;
+       clear: right;
+       float: right;
 }
 
 figure[typeof~='mw:Image/Thumb'] img,