Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
/* some very targetted corrections to roll back nameclashes between
2
 * Moodle and Bootstrap like .row, .label, .content, .controls
3
 *
4
 * Mostly relies on these styles being more specific than the Bootstrap
5
 * ones in order to overule them.
6
 */
7
 
8
// .label vs .label
9
 
10
li.activity.label,
11
.file-picker td.label {
12
    background: inherit;
13
    color: inherit;
14
    border: inherit;
15
    text-shadow: none;
16
    white-space: normal;
17
    display: block;
18
    font-size: inherit;
19
    line-height: inherit;
20
    text-align: inherit;
21
}
22
 
23
.file-picker td.label {
24
    display: table-cell;
25
    text-align: right;
26
    padding: 8px;
27
}
28
 
29
// Some of this dialog is sized in ems so a different font size
30
// effects the whole layout.
31
.choosercontainer #chooseform .option {
32
    font-size: 12px;
33
}
34
 
35
/* block.invisible vs .invisible
36
 * block.hidden vs .invisible
37
 *
38
 * uses .invisible where the rest of Moodle uses @mixin dimmed
39
 * fixible in block renderer?
40
 *
41
 * There's seems to be even more naming confusion here since,
42
 * blocks can be actually 'visible' (or not) to students,
43
 * marked 'visible' but really just dimmed to indicate to editors
44
 * that students can't see them or  'visible' to the user who
45
 * collapses them, 'visible' if you have the right role and in
46
 * different circumstances different sections of a block can
47
 * be 'visible' or not.
48
 *
49
 * currently worked around in renderers.php function block{}
50
 * by rewriting the class name "invisible" to "dimmed",
51
 * though the blocks don't look particularly different apart
52
 * from their contents disappearing. Maybe try .muted? or
53
 * dimming all the edit icons apart from unhide, might be a
54
 * nice effect, though they'd still be active. Maybe reverse
55
 * it to white?
56
 */
57
 
58
li.section.hidden,
59
.block.hidden,
60
.block.invisible {
61
    visibility: visible;
62
    display: block;
63
}
64
 
65
 
66
/* .row vs .row
67
 *
68
 * very tricky to track down this when it goes wrong,
69
 * since the styles are applied to generated content
70
 *
71
 * basically if you see things shifted left or right compared
72
 * with where they should be check for a .row
73
 */
74
 
75
.forumpost .row {
76
    margin-left: 0 !important; /* stylelint-disable-line declaration-no-important */
77
}
78
 
79
.forumpost .row:before,
80
.forumpost .row:after {
81
    content: none;
82
}
83
/* fieldset.hidden vs .hidden
84
 *
85
 * Moodle uses fieldset.hidden for mforms, to signify a collection of
86
 * form elements that don't have a box drawn round them. Bootstrap
87
 * uses hidden for stuff that is hidden in various responsive modes.
88
 *
89
 * Relatedly, there is also fieldset.invisiblefieldset which hides the
90
 * border and sets the display to inline.
91
 *
92
 * Originally this just set block and visible, but it is used
93
 * in random question dialogue in Quiz,
94
 * that dialogue is hidden and shown, so when hidden the
95
 * above workaround leaves you with a button floating around
96
 */
97
 
98
fieldset.hidden {
99
    display: inherit;
100
    visibility: inherit;
101
}
102
 
103
/* .container vs .container
104
 *
105
 * bootstrap uses .container to set the width of the layout at 960px or so, Moodle uses it
106
 * in the Quiz to contain the questions to add. If you don't overule the Bootstrap code,
107
 * it becomes near unuseable.
108
 */
109
 
110
#questionbank + .container {
111
    width: auto;
112
}
113
 
114
// Allow the custom menu to expand/collapse when the user hovers over it with JS disabled.
115
body:not(.jsenabled) .dropdown:hover > .dropdown-menu {
116
    display: block;
117
    margin-top: -6px; // We need to move it up to counter the arrows as they introduce hover bugs.
118
}
119
 
120
// Enable scroll in the language menu.
121
body:not(.jsenabled) .langmenu:hover > .dropdown-menu,
122
.langmenu.open > .dropdown-menu {
123
    display: block;
124
    max-height: 150px;
125
    overflow-y: auto;
126
}
127
 
128
// Set menus in the fixed header to scroll vertically when they are longer than the page.
129
.navbar.fixed-top .dropdown .dropdown-menu {
130
    max-height: calc(100vh - #{$navbar-height});
131
    overflow-y: auto;
132
}
133
 
134
// Dont allow z-index creep anywhere.
135
.page-item {
136
    &.active .page-link {
137
        &,
138
        &:hover,
139
        &:focus {
140
            z-index: inherit;
141
        }
142
    }
143
}
144
 
145
// Fixes an issue on Safari when the .custom-select is inside a .card class.
146
.custom-select {
147
    word-wrap: normal;
148
}
149
 
150
/* Add commented out carousel transistions back in.
151
 *
152
 * The Css prefixer used in Moodle breaks on @supports syntax, See MDL-61515.
153
 */
154
.carousel-item-next.carousel-item-left,
155
.carousel-item-prev.carousel-item-right {
156
    transform: translateX(0);
157
}
158
.carousel-item-next,
159
.active.carousel-item-right {
160
    transform: translateX(100%);
161
}
162
.carousel-item-prev,
163
.active.carousel-item-left {
164
    transform: translateX(-100%);
165
}
166
 
167
/**
168
 * Reset all of the forced style on the page.
169
 * - Remove borders on header and content.
170
 * - Remove most of the vertical padding.
171
 * - Make the content region flex grow so it pushes things like the
172
 *   next activity selector to the bottom of the page.
173
 */
174
$allow-reset-style: true !default;
175
 
176
@if $allow-reset-style {
177
    body.reset-style {
178
        #page-header {
179
            .card {
180
                border: none;
181
 
182
                .page-header-headings {
183
                    h1 {
184
                        margin-bottom: 0;
185
                    }
186
                }
187
 
188
                .card-body {
189
                    @include media-breakpoint-down(sm) {
190
                        padding-left: 0;
191
                        padding-right: 0;
192
                    }
193
                }
194
            }
195
 
196
            & > div {
197
                padding-top: 0 !important;  /* stylelint-disable-line declaration-no-important */
198
                padding-bottom: 0 !important;  /* stylelint-disable-line declaration-no-important */
199
            }
200
        }
201
 
202
        #page-content {
203
            padding-bottom: 0 !important;  /* stylelint-disable-line declaration-no-important */
204
 
205
            #region-main-box {
206
                #region-main {
207
                    border: none;
208
                    display: inline-flex;
209
                    flex-direction: column;
210
                    padding: 0;
211
                    height: 100%;
212
                    width: 100%;
213
                    padding-left: $card-spacer-x;
214
                    padding-right: $card-spacer-x;
215
                    vertical-align: top;
216
 
217
                    div[role="main"] {
218
                        flex: 1 0 auto;
219
                    }
220
 
221
                    .activity-navigation {
222
                        overflow: hidden;
223
                    }
224
 
225
                    &.has-blocks {
226
                        width: calc(100% - #{$blocks-plus-gutter});
227
 
228
                        @include media-breakpoint-down(lg) {
229
                            width: 100%;
230
                        }
231
                    }
232
 
233
                    @include media-breakpoint-down(sm) {
234
                        padding-left: 0;
235
                        padding-right: 0;
236
                    }
237
                }
238
 
239
                [data-region="blocks-column"] {
240
                    margin-left: auto;
241
                }
242
 
243
                @include media-breakpoint-down(lg) {
244
                    display: flex;
245
                    flex-direction: column;
246
                }
247
            }
248
        }
249
 
250
        select,
251
        input,
252
        textarea,
253
        .btn:not(.btn-icon) {
254
            border-radius: $border-radius-lg;
255
        }
256
    }
257
}