MediaWiki:Common.css: Difference between revisions
From AbhiprayaVedi
No edit summary |
No edit summary |
||
| Line 2: | Line 2: | ||
MediaWiki:CommonTest.css | MediaWiki:CommonTest.css | ||
Test stylesheet for AbhiprayaVedi | Test stylesheet for AbhiprayaVedi | ||
Cleaned and merged with scoped reset for .article-container | |||
================================================================ */ | ================================================================ */ | ||
| Line 21: | Line 22: | ||
/* ------------------------------------------------ | /* ------------------------------------------------ | ||
ARTICLE CONTAINER | ARTICLE CONTAINER RESET | ||
Scoped reset to avoid affecting global wiki styles | |||
------------------------------------------------ */ | |||
.article-container p, | |||
.article-container figure, | |||
.article-container figcaption, | |||
.article-container ul, | |||
.article-container ol, | |||
.article-container li, | |||
.article-container h1, | |||
.article-container h2, | |||
.article-container h3, | |||
.article-container h4, | |||
.article-container h5, | |||
.article-container h6 { | |||
margin: 0; | |||
padding: 0; | |||
} | |||
/* Figures and captions */ | |||
.article-container figure { | |||
display: block; | |||
float: none; | |||
} | |||
.article-container figcaption { | |||
display: block; | |||
text-align: center; | |||
} | |||
/* Lists */ | |||
.article-container ul, | |||
.article-container ol { | |||
list-style-position: inside; | |||
padding-left: 1em; | |||
} | |||
.article-container li { | |||
margin: 0.25em 0; | |||
} | |||
/* Headings */ | |||
.article-container h1, | |||
.article-container h2, | |||
.article-container h3, | |||
.article-container h4, | |||
.article-container h5, | |||
.article-container h6 { | |||
font-weight: 600; | |||
line-height: 1.3; | |||
margin: 0.5em 0; | |||
} | |||
/* ------------------------------------------------ | |||
ARTICLE CONTAINER LAYOUT AND COMPONENTS | |||
------------------------------------------------ */ | ------------------------------------------------ */ | ||
.article-container { | .article-container { | ||
| Line 28: | Line 81: | ||
} | } | ||
/* | /* Article header and author info */ | ||
.article-container .article-header { | .article-container .article-header { | ||
margin: | margin: 0 auto; /* no extra top/bottom margin */ | ||
padding: | padding: 2px 0; /* slim padding */ | ||
background: #C7D2FE; | background: #C7D2FE; | ||
text-align: center; | text-align: center; | ||
} | } | ||
.article-container .author-info { | .article-container .author-info { | ||
margin: 0; /* remove auto vertical margin */ | |||
display: flex; | display: flex; | ||
justify-content: center; | justify-content: center; | ||
align-items: center; | align-items: center; | ||
gap: | gap: 6px; /* balanced spacing between items */ | ||
font-size: 1.05em; | font-size: 1.05em; | ||
color: #444; | color: #444; | ||
| Line 50: | Line 103: | ||
color: #999; | color: #999; | ||
} | } | ||
.article-container .author-info p { | .article-container .author-info p { | ||
margin: 2px 0; | margin: 2px 0; /* small vertical spacing */ | ||
padding: 0; | |||
text-align: center; | |||
} | } | ||
.article-container .author-name { | .article-container .author-name { | ||
font-weight: 600; | font-weight: 600; | ||
| Line 71: | Line 123: | ||
} | } | ||
/* | /* Introduction section */ | ||
.article-container .introduction-section { | .article-container .introduction-section { | ||
background: #f5f7fa; | background: #f5f7fa; | ||
border-left: 4px solid #4a6edb; | border-left: 4px solid #4a6edb; | ||
padding: 10px 14px; | padding: 10px 14px; | ||
| Line 87: | Line 139: | ||
} | } | ||
/* | /* Content layout */ | ||
.article-container .content-wrapper { | .article-container .content-wrapper { | ||
display: flex; | display: flex; | ||
| Line 97: | Line 149: | ||
flex: 3; | flex: 3; | ||
min-width: 0; | min-width: 0; | ||
} | |||
.article-container .right-sidebar { | |||
flex: 1; | |||
max-width: 280px; | |||
} | } | ||
/* | /* Image handling and captions */ | ||
.article-container .image-left { | .article-container .image-left { | ||
float: left; | float: left; | ||
| Line 110: | Line 166: | ||
float: none; | float: none; | ||
display: inline-block; /* figure width = image width */ | display: inline-block; /* figure width = image width */ | ||
max-width: 100%; | |||
} | } | ||
.article-container .image-left figure[typeof~='mw:File/Thumb'] a { | .article-container .image-left figure[typeof~='mw:File/Thumb'] a { | ||
| Line 116: | Line 173: | ||
.article-container .image-left figure[typeof~='mw:File/Thumb'] .mw-file-element { | .article-container .image-left figure[typeof~='mw:File/Thumb'] .mw-file-element { | ||
margin: 0; | margin: 0; | ||
padding-right: 6px; | padding-right: 6px; | ||
display: block; | display: block; | ||
} | } | ||
.article-container .image-left figure[typeof~='mw:File/Thumb'] figcaption { | .article-container .image-left figure[typeof~='mw:File/Thumb'] figcaption { | ||
display: block; | display: block; | ||
max-width: 100%; | max-width: 100%; | ||
text-align: center; | text-align: center; | ||
margin-top: 6px; | margin-top: 6px; | ||
| Line 133: | Line 190: | ||
} | } | ||
/* | /* Sidebar author photo and name */ | ||
.article-container . | .article-container .author-photo { | ||
margin: 0; | |||
max-width: | display: block; | ||
border: 1px solid #ccc; | |||
padding: 2px; | |||
max-width: 180px; | |||
} | } | ||
.article-container .author-photo p { | .article-container .author-photo p { | ||
margin: 0 | margin: 0; | ||
padding: 0; | padding: 0; | ||
text-align: center; | text-align: center; | ||
} | } | ||
.article-container .author-photo figcaption { | .article-container .author-photo figcaption { | ||
text-align: center; | text-align: center; | ||
margin-top: 4px; | margin-top: 4px; | ||
} | |||
.article-container .author-name-box { | |||
text-align: center; | |||
margin-top: 4px; | |||
max-width: 180px; | |||
} | } | ||
.article-container .author-infobox { | .article-container .author-infobox { | ||
display: flex; | display: flex; | ||
flex-direction: column; | flex-direction: column; | ||
align-items: | align-items: center; /* center photo and name by default */ | ||
} | } | ||
/* | /* Key points and highlight boxes */ | ||
.article-container .keypoints-box { | .article-container .keypoints-box { | ||
background: #f9f9f9; | background: #f9f9f9; | ||
padding: 12px; | padding: 12px; | ||
border-left: 4px solid #8ba2e8; | border-left: 4px solid #8ba2e8; | ||
border-radius: 6px; | border-radius: 6px; | ||
} | } | ||
.article-container .highlight-box { | .article-container .highlight-box { | ||
background: #ecfffb; | background: #ecfffb; | ||
| Line 184: | Line 245: | ||
line-height: 1.5; | line-height: 1.5; | ||
} | } | ||
.article-container .keypoints-header { | .article-container .keypoints-header { | ||
background: #8ba2e8; | background: #8ba2e8; | ||
| Line 193: | Line 252: | ||
border-radius: 4px 4px 0 0; | border-radius: 4px 4px 0 0; | ||
margin-bottom: 6px; | margin-bottom: 6px; | ||
} | } | ||
| Line 311: | Line 333: | ||
position: absolute; | position: absolute; | ||
left: -9999px; | left: -9999px; | ||
} | } | ||
Revision as of 15:10, 22 April 2026
/* ================================================================
MediaWiki:CommonTest.css
Test stylesheet for AbhiprayaVedi
Cleaned and merged with scoped reset for .article-container
================================================================ */
/* ------------------------------------------------
BASE TYPOGRAPHY
------------------------------------------------ */
:lang(en) {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
:lang(ml) {
font-family: 'Manjari', 'Meera', 'Rachana', 'AnjaliOldLipi', 'Noto Sans Malayalam', sans-serif;
line-height: 1.75;
}
body {
font-size: 17px;
}
/* ------------------------------------------------
ARTICLE CONTAINER RESET
Scoped reset to avoid affecting global wiki styles
------------------------------------------------ */
.article-container p,
.article-container figure,
.article-container figcaption,
.article-container ul,
.article-container ol,
.article-container li,
.article-container h1,
.article-container h2,
.article-container h3,
.article-container h4,
.article-container h5,
.article-container h6 {
margin: 0;
padding: 0;
}
/* Figures and captions */
.article-container figure {
display: block;
float: none;
}
.article-container figcaption {
display: block;
text-align: center;
}
/* Lists */
.article-container ul,
.article-container ol {
list-style-position: inside;
padding-left: 1em;
}
.article-container li {
margin: 0.25em 0;
}
/* Headings */
.article-container h1,
.article-container h2,
.article-container h3,
.article-container h4,
.article-container h5,
.article-container h6 {
font-weight: 600;
line-height: 1.3;
margin: 0.5em 0;
}
/* ------------------------------------------------
ARTICLE CONTAINER LAYOUT AND COMPONENTS
------------------------------------------------ */
.article-container {
max-width: 1200px;
margin: 0 auto;
}
/* Article header and author info */
.article-container .article-header {
margin: 0 auto; /* no extra top/bottom margin */
padding: 2px 0; /* slim padding */
background: #C7D2FE;
text-align: center;
}
.article-container .author-info {
margin: 0; /* remove auto vertical margin */
display: flex;
justify-content: center;
align-items: center;
gap: 6px; /* balanced spacing between items */
font-size: 1.05em;
color: #444;
}
.article-container .author-info span:not(:last-child)::after {
content: "•";
margin-left: 8px;
color: #999;
}
.article-container .author-info p {
margin: 2px 0; /* small vertical spacing */
padding: 0;
text-align: center;
}
.article-container .author-name {
font-weight: 600;
}
.article-container .date-info {
font-size: 0.9em;
color: #666;
}
.article-container .category-badge {
background: #e0e7ff;
color: #333;
padding: 2px 8px;
border-radius: 12px;
font-size: 0.85em;
}
/* Introduction section */
.article-container .introduction-section {
background: #f5f7fa;
border-left: 4px solid #4a6edb;
padding: 10px 14px;
margin: 0 0 14px 0;
border-radius: 4px;
font-size: 1.05em;
line-height: 1.6;
color: #222;
}
.article-container .introduction-section p {
margin: 0;
text-indent: 0;
}
/* Content layout */
.article-container .content-wrapper {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 24px;
}
.article-container .main-content {
flex: 3;
min-width: 0;
}
.article-container .right-sidebar {
flex: 1;
max-width: 280px;
}
/* Image handling and captions */
.article-container .image-left {
float: left;
margin: 0;
border: 1px solid #ccc;
padding: 0;
}
.article-container .image-left figure[typeof~='mw:File/Thumb'] {
margin: 0;
float: none;
display: inline-block; /* figure width = image width */
max-width: 100%;
}
.article-container .image-left figure[typeof~='mw:File/Thumb'] a {
display: block; /* image link fills figure width */
}
.article-container .image-left figure[typeof~='mw:File/Thumb'] .mw-file-element {
margin: 0;
padding-right: 6px;
display: block;
}
.article-container .image-left figure[typeof~='mw:File/Thumb'] figcaption {
display: block;
max-width: 100%;
text-align: center;
margin-top: 6px;
padding: 2px 4px;
border: none;
background: transparent;
}
.article-container .image-left img {
display: block;
margin: 0;
}
/* Sidebar author photo and name */
.article-container .author-photo {
margin: 0;
display: block;
border: 1px solid #ccc;
padding: 2px;
max-width: 180px;
}
.article-container .author-photo p {
margin: 0;
padding: 0;
text-align: center;
}
.article-container .author-photo figcaption {
text-align: center;
margin-top: 4px;
}
.article-container .author-name-box {
text-align: center;
margin-top: 4px;
max-width: 180px;
}
.article-container .author-infobox {
display: flex;
flex-direction: column;
align-items: center; /* center photo and name by default */
}
/* Key points and highlight boxes */
.article-container .keypoints-box {
background: #f9f9f9;
padding: 12px;
border-left: 4px solid #8ba2e8;
border-radius: 6px;
}
.article-container .highlight-box {
background: #ecfffb;
border-left: 5px solid #00c49c;
padding: 12px;
margin: 12px 0;
border-radius: 6px;
}
.article-container .highlight-title {
background: #00c49c;
color: #333;
font-weight: bold;
padding: 4px 8px;
border-radius: 4px 4px 0 0;
margin-bottom: 6px;
}
.article-container .highlight-text {
color: #333;
font-size: 0.95em;
line-height: 1.5;
}
.article-container .keypoints-header {
background: #8ba2e8;
color: #dde4f8;
font-weight: bold;
padding: 4px 8px;
border-radius: 4px 4px 0 0;
margin-bottom: 6px;
}
/* ------------------------------------------------
FEATURED SECTION (Magazine Index)
------------------------------------------------ */
.av-featured {
display: flex;
gap: 20px;
align-items: flex-start;
background: #f8f9fa;
border-left: 5px solid #667eea;
border-radius: 8px;
padding: 16px;
margin-bottom: 8px;
}
.av-featured-image {
flex: 0 0 260px;
max-width: 260px;
}
.av-featured-image img {
width: 260px;
height: auto;
border-radius: 6px;
display: block;
}
.av-featured-body {
flex: 1 1 auto;
min-width: 0;
display: -webkit-box;
-webkit-line-clamp: 8;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
.av-featured-title {
font-size: 1.45em;
font-weight: 700;
line-height: 1.4;
margin-bottom: 10px;
}
.av-featured-intro {
font-size: 1.05em;
line-height: 1.75;
color: #495057;
margin-bottom: 12px;
max-height: 200px;
overflow: hidden;
}
/* ------------------------------------------------
RESPONSIVE BREAKPOINTS
------------------------------------------------ */
@media (max-width: 960px) {
.content-wrapper { flex-direction: column; }
.right-sidebar { max-width: 100%; }
.av-cards-row { flex-direction: column; }
.av-latest-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
.av-featured { flex-direction: column; }
.av-featured-image img { max-width: 100%; }
.av-latest-grid { grid-template-columns: 1fr; }
}
/* ------------------------------------------------
ACCESSIBILITY
------------------------------------------------ */
a:focus-visible,
button:focus-visible {
outline: 2px solid #667eea;
outline-offset: 2px;
}
.highlight-title::before {
content: "Highlight ";
position: absolute;
left: -9999px;
}
.keypoints-header::before {
content: "Key Points ";
position: absolute;
left: -9999px;
}