You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

188 lines
5.2 KiB

/* some very targetted corrections to roll back nameclashes between
* Moodle and Bootstrap like .row, .label, .content, .controls
*
* Mostly relies on these styles being more specific than the Bootstrap
* ones in order to overule them.
*/
// .label vs .label
li.activity.label,
.file-picker td.label {
background: inherit;
color: inherit;
border: inherit;
text-shadow: none;
padding: 8px;
white-space: normal;
display: block;
font-size: inherit;
line-height: inherit;
text-align: inherit;
}
.file-picker td.label {
display: table-cell;
text-align: right;
}
// Some of this dialog is sized in ems so a different font size
// effects the whole layout.
.choosercontainer #chooseform .option label {
font-size: 12px;
}
/* block.invisible vs .invisible
* block.hidden vs .invisible
*
* uses .invisible where the rest of Moodle uses @mixin dimmed
* fixible in block renderer?
*
* There's seems to be even more naming confusion here since,
* blocks can be actually 'visible' (or not) to students,
* marked 'visible' but really just dimmed to indicate to editors
* that students can't see them or 'visible' to the user who
* collapses them, 'visible' if you have the right role and in
* different circumstances different sections of a block can
* be 'visible' or not.
*
* currently worked around in renderers.php function block{}
* by rewriting the class name "invisible" to "dimmed",
* though the blocks don't look particularly different apart
* from their contents disappearing. Maybe try .muted? or
* dimming all the edit icons apart from unhide, might be a
* nice effect, though they'd still be active. Maybe reverse
* it to white?
*/
li.section.hidden,
.block.hidden,
.block.invisible {
visibility: visible;
display: block;
}
/* .row vs .row
*
* very tricky to track down this when it goes wrong,
* since the styles are applied to generated content
*
* basically if you see things shifted left or right compared
* with where they should be check for a .row
*/
.forumpost .row {
margin-left: 0 !important; /* stylelint-disable-line declaration-no-important */
}
.forumpost .row:before,
.forumpost .row:after {
content: none;
}
/* fieldset.hidden vs .hidden
*
* Moodle uses fieldset.hidden for mforms, to signify a collection of
* form elements that don't have a box drawn round them. Bootstrap
* uses hidden for stuff that is hidden in various responsive modes.
*
* Relatedly, there is also fieldset.invisiblefieldset which hides the
* border and sets the display to inline.
*
* Originally this just set block and visible, but it is used
* in random question dialogue in Quiz,
* that dialogue is hidden and shown, so when hidden the
* above workaround leaves you with a button floating around
*/
fieldset.hidden {
display: inherit;
visibility: inherit;
}
/* .container vs .container
*
* bootstrap uses .container to set the width of the layout at 960px or so, Moodle uses it
* in the Quiz to contain the questions to add. If you don't overule the Bootstrap code,
* it becomes near unuseable.
*/
#questionbank + .container {
width: auto;
}
// Allow the custom menu to expand/collapse when the user hovers over it with JS disabled.
body:not(.jsenabled) .dropdown:hover > .dropdown-menu {
display: block;
margin-top: -6px; // We need to move it up to counter the arrows as they introduce hover bugs.
}
// Extends bootstrapbase/less/bootstrap/navbar.less
// to enable scroll in the language menu.
body:not(.jsenabled) .langmenu:hover > .dropdown-menu,
.langmenu.open > .dropdown-menu {
display: block;
max-height: 150px;
overflow-y: auto;
}
// Set menus in the fixed header to scroll vertically when they are longer than the page.
.navbar.fixed-top .dropdown .dropdown-menu {
max-height: calc(100vh - #{$navbar-height});
overflow-y: auto;
}
// Dont allow z-index creep anywhere.
.page-item {
&.active .page-link {
@include plain-hover-focus {
z-index: inherit;
}
}
}
/* Force positioning of popover arrows.
*
* The Css prefixer used in Moodle does not support complex calc statements used
* in Bootstrap 4 CSS. For example:
* calc((0.5rem + 1px) * -1); is stripped out by lib/php-css-parser/Parser.php.
* See MDL-61879. For now the arrow positions of popovers are fixed until this is resolved.
*/
.bs-popover-right .arrow,
.bs-popover-auto[x-placement^="right"] .arrow {
left: -9px;
}
.bs-popover-left .arrow,
.bs-popover-auto[x-placement^="left"] .arrow {
right: -9px;
}
.bs-popover-top .arrow,
.bs-popover-auto[x-placement^="top"] .arrow {
bottom: -9px;
}
.bs-popover-bottom .arrow,
.bs-popover-auto[x-placement^="bottom"] .arrow {
top: -9px;
}
// Fixes an issue on Safari when the .custom-select is inside a .card class.
.custom-select {
word-wrap: normal;
}
/* Add commented out carousel transistions back in.
*
* The Css prefixer used in Moodle breaks on @supports syntax, See MDL-61515.
*/
.carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
transform: translateX(0);
}
.carousel-item-next,
.active.carousel-item-right {
transform: translateX(100%);
}
.carousel-item-prev,
.active.carousel-item-left {
transform: translateX(-100%);
}