Skip to content

Commit a5c3288

Browse files
author
Hendrik Putzek
committed
[BUGFIX] change markup for news list
News list had a bug and therefore did not scale properly depending on screensize. Absolute positioning and fixed heigths are very hard to handle in responsive designs. Therefore the markup was changed: Bootstrap grid classes are used now, this saves code prevents positioning related bugs/problems. The grid items are positioned with display: 'flex', which allows sizing the rows without using explicit, fixed values.
1 parent 25c25bd commit a5c3288

File tree

3 files changed

+29
-75
lines changed

3 files changed

+29
-75
lines changed

Resources/Private/Extensions/News/Partials/List/SimpleList.html

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,35 +19,31 @@
1919

2020

2121
<f:section name="simpleList">
22-
<article class="news-simple-list__item clearfix articletype-{newsItem.type}{f:if(condition: newsItem.istopnews, then: ' topnews')}" itemscope="itemscope" itemtype="http://schema.org/Article">
22+
<article class="news-simple-list__item row clearfix articletype-{newsItem.type}{f:if(condition: newsItem.istopnews, then: ' topnews')}" itemscope="itemscope" itemtype="http://schema.org/Article">
2323
<n:excludeDisplayedNews newsItem="{newsItem}"/>
2424

2525
<f:if condition="{newsItem.mediaPreviews}">
2626
<!-- media preview element -->
2727
<f:then>
28-
<div class="news-simple-list__img-wrap">
29-
<n:link newsItem="{newsItem}" settings="{settings}" title="{f:translate(key:'news.more-link.linktext', extensionName:'Theme_t3kit')}{newsItem.title}">
28+
<div class="col-12 col-sm-3 news-simple-list__media-preview">
29+
<n:link newsItem="{newsItem}" settings="{settings}" additionalAttributes="{aria-label: '{f:translate(key:\'news.more-link.linktext\', extensionName:\'Theme_t3kit\')}{newsItem.title}'}" title="{f:translate(key:'news.more-link.linktext', extensionName:'Theme_t3kit')}{newsItem.title}">
3030
<f:alias map="{mediaElement: '{newsItem.mediaPreviews.0}'}">
3131
<f:if condition="{mediaElement.originalResource.type} == 2">
32-
<div class="news-simple-list__media-preview">
3332
<f:media file="{mediaElement}" width="170"/>
34-
</div>
3533
</f:if>
3634
<f:if condition="{mediaElement.originalResource.type} == 4">
3735
<f:media file="{mediaElement}" additionalConfig="{loop: '0', autoplay: '0'}" />
3836
</f:if>
3937
<f:if condition="{mediaElement.originalResource.type} == 5">
40-
<div class="news-simple-list__media-preview">
4138
<f:media file="{mediaElement}" width="170"/>
42-
</div>
4339
</f:if>
4440
</f:alias>
4541
</n:link>
4642
</div>
4743
</f:then>
4844
<f:else>
4945
<f:if condition="{settings.displayDummyIfNoMedia}">
50-
<div class="news-simple-list__img-wrap">
46+
<div class="news-simple-list__img-wrap col-12 col-sm-3">
5147
<div class="no-media-element">
5248
<div class="news-simple-list__media-preview" style="background-image:url('{f:uri.image(src: settings.list.media.dummyImage, treatIdAsReference: 1)}');"></div>
5349
</div>
@@ -56,7 +52,7 @@
5652
</f:else>
5753
</f:if>
5854

59-
<div class="news-simple-list__text js__news-simple-list__dotdotdot">
55+
<div class="news-simple-list__text col-12 col-sm-8">
6056

6157
<!-- date -->
6258
<span class="news-list-date news-simple-list__date-wrp">
@@ -90,13 +86,11 @@ <h3>{newsItem.title}</h3>
9086
</f:else>
9187
</f:if>
9288
</div>
89+
<div class="news-simple-list__more-link">
90+
<n:link newsItem="{newsItem}" settings="{settings}" class="more" title="{f:translate(key:'news.more-link.linktext', extensionName:'Theme_t3kit')}{newsItem.title}">
91+
<f:translate key="more-link"/>
92+
</n:link>
93+
</div>
9394
</div>
94-
95-
<div class="news-simple-list__more-link">
96-
<n:link newsItem="{newsItem}" settings="{settings}" class="more" title="{f:translate(key:'news.more-link.linktext', extensionName:'Theme_t3kit')}{newsItem.title}">
97-
<f:translate key="more-link"/>
98-
</n:link>
99-
</div>
100-
10195
</article>
10296
</f:section>

felayout_t3kit/dev/styles/main/plugins/news/newsCards.less

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
}
1414

1515
.news-cards__media-preview {
16-
height: 180px;
16+
min-height: 180px;
1717
background-size: cover;
1818
background-repeat: no-repeat;
1919
background-position: 50% 50%;

felayout_t3kit/dev/styles/main/plugins/news/newsSimpleList.less

Lines changed: 18 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,36 @@
1-
.news-simple-list__img-wrap {
2-
margin-right: 20px;
3-
overflow: hidden;
4-
width: 100%;
5-
position: relative;
1+
.news-simple-list__item {
2+
background-color: darken(@main-body-bg, 5%);
3+
margin-bottom: 30px;
4+
display: flex;
5+
flex-direction: column;
6+
min-height: 266px;
67

7-
&:after {
8-
content: '';
9-
display: block;
10-
margin-bottom: 69.2%;
8+
.img-responsive {
9+
margin-bottom: 15px;
1110
}
12-
}
1311

14-
.news-simple-list__img-wrap a {
15-
position: absolute;
16-
width: 100%;
17-
height: 100%;
18-
}
19-
20-
.news-simple-list__media-preview {
21-
width: 100%;
22-
height: 100%;
23-
}
24-
25-
.news-simple-list__text {
26-
overflow: hidden;
27-
position: relative;
28-
padding: 15px 15px 0;
29-
height: auto;
12+
a {
13+
display: inline-block;
14+
}
3015
}
3116

32-
.news-simple-list__item {
33-
background-color: darken(@main-body-bg, 5%);
34-
margin-bottom: 30px;
17+
// use custom width instead of bootstrap media query;
18+
// evaluated by testing the ideal value
19+
@media (min-width: 540px) {
20+
.news-simple-list__item {
21+
flex-direction: row;
22+
}
3523
}
3624

3725
.news-simple-list__media-preview {
38-
background-size: cover;
39-
background-position: 50% 50%;
40-
background-repeat: no-repeat;
41-
}
42-
43-
.news-simple-list__more-link {
44-
padding: 0 15px 15px;
26+
display: block;
4527
}
4628

4729
.news-simple-list__header h3 {
4830
font-size: 22px;
4931
}
5032

51-
@media (min-width: @screen-sm-min) {
52-
.news-simple-list__img-wrap {
53-
float: left;
54-
width: 290px;
55-
}
56-
57-
.news-simple-list__text {
58-
height: 168px;
59-
padding-left: 0;
60-
padding-top: 20px;
61-
padding-right: 30px;
62-
}
63-
64-
.news-simple-list__more-link {
65-
padding: 0;
66-
}
67-
}
68-
6933
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
70-
.news-simple-list__more-link {
71-
padding-top: 4px;
72-
}
73-
7434
.news-simple-list__header h3 {
7535
font-size: 19px;
7636
}

0 commit comments

Comments
 (0)