mediawiki-extensions-Relate.../resources/ext.relatedArticles.readMore/styles.less
Jon Robson df1ff38877 [Maintenance] Reduce related articles to two modules
1) Merge ext.relatedArticles.readMore and ext.relatedArticles.cards modules

These are always loaded together. No need to have them in separate modules.
In process switch to packagefiles

2) Merge ext.relatedArticles.readMore.bootstrap and ext.relatedArticles.readMore.gateway

Always loaded together.

Bug: T306228
Change-Id: I9442b0336e22ca795cc06f76068215266fe81271
2022-04-14 17:48:37 -07:00

164 lines
3.5 KiB
Plaintext

@import 'mediawiki.mixins';
@import 'mediawiki.ui/variables';
@baseFontSize: 1em;
@thumbWidth: 80px;
@cardBorder: 1px solid rgba( 0, 0, 0, 0.2 );
@borderRadius: 2px;
.ext-related-articles-card-list {
.flex-display();
flex-flow: row wrap;
font-size: @baseFontSize;
list-style: none;
overflow: hidden;
position: relative;
padding-left: 0;
h3 {
@fontSize: 1em;
@lineHeight: 1.3;
@lineHeightEm: @lineHeight * @fontSize;
font-family: inherit;
font-size: @fontSize;
// max 2 lines
max-height: 2 * @lineHeightEm;
line-height: @lineHeight;
margin: 0;
overflow: hidden;
padding: 0;
position: relative;
font-weight: 500;
a {
color: #000;
}
&:after {
content: ' ';
position: absolute;
right: 0;
bottom: 0;
width: 25%;
height: @lineHeightEm;
background-color: transparent;
background-image: linear-gradient( to right, rgba( 255, 255, 255, 0 ), rgba( 255, 255, 255, 1 ) 50% );
}
}
// flex-item
.ext-related-articles-card {
background-color: #fff;
box-sizing: border-box;
margin: 0;
height: @thumbWidth;
position: relative;
width: 100%;
border: @cardBorder;
& + .ext-related-articles-card {
border-top: 0;
}
// Apply radius to top & bottom cards when stacked
&:first-child {
border-radius: @borderRadius @borderRadius 0 0;
}
&:last-child {
border-radius: 0 0 @borderRadius @borderRadius;
}
}
.ext-related-articles-card > a {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1;
&:hover {
box-shadow: 0 1px 1px rgba( 0, 0, 0, 0.1 );
}
}
.ext-related-articles-card-detail {
// Vertically center the element using the technique described at
// http://zerosixthree.se/vertical-align-anything-with-just-3-lines-of-css/.
//
// This technique is ideal because:
// * it's easy to reason about,
// * `position: relative` means that the element is laid out as if it weren't
// positioned, allowing for `text-overflow: ellipsis` to work (see below)
// * it supports more browsers than flexbox does, and
// * we don't deliver RelatedArticles assets to those browsers that don't
// support CSS 2D transforms
position: relative;
top: 50%;
-webkit-transform: translateY( -50% ); // iOS 8.1, Android Browser 4.3-4.4.4
-ms-transform: translateY( -50% ); // IE9
transform: translateY( -50% );
}
.ext-related-articles-card-extract {
color: @colorGray7;
font-size: 0.8em;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
margin-top: 2px;
}
.ext-related-articles-card-thumb {
background-color: @colorGray14;
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
float: left;
height: 100%;
width: @thumbWidth;
margin-right: 10px;
}
.ext-related-articles-card-thumb-placeholder {
background-image: url( article.svg );
background-size: 40px 40px;
}
}
@media all and ( min-width: @width-breakpoint-tablet ) {
.ext-related-articles-card-list {
border-top: 0;
.ext-related-articles-card {
border: @cardBorder;
@rightMargin: 1%;
margin-right: @rightMargin;
margin-bottom: 10px;
// max space is 100-2/3
width: ( 100 - ( 2 * @rightMargin ) ) / 3;
// Individual border-radius when cards side by side (not stacked)
&,
&:first-child,
&:last-child {
border-radius: @borderRadius;
}
&:last-child {
margin-right: 0;
}
& + .ext-related-articles-card {
border: @cardBorder;
}
// every 3rd child drop the right margin
&:nth-child( 3n+3 ) {
margin-right: 0;
}
}
}
}