mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-10-24 02:52:37 +00:00
[GITEA] Use vertical tabs on issue filters
- This is actually https://github.com/go-gitea/gitea/pull/19978 & https://github.com/go-gitea/gitea/pull/19486 but was removed in one of the UI refactors of v1.20 - This is a very technical fix and is best explained in the CSS comments. But the short version: When there's an overflow being set, but you want an element to 'break out' of that overflow with `position: absolute`, it sometimes doesn't work! You need to set some CSS to let the browser know that the element needs to use an element outside of that overflow as 'clip parent'. - Resolves my internal frustration with the mobile UI constantly getting broken. (cherry picked from commit879f842bed) (cherry picked from commit6099c9b41b) (cherry picked from commit0749d00b16) (cherry picked from commitec6a5428a7) (cherry picked from commit9d0bee784d) (cherry picked from commit61d6ae4882)
This commit is contained in:
parent
e635674435
commit
8b3f3639b6
1 changed files with 31 additions and 4 deletions
|
|
@ -17,10 +17,6 @@
|
|||
}
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.issue-list-toolbar-right .dropdown .menu {
|
||||
left: auto !important;
|
||||
right: auto !important;
|
||||
}
|
||||
.issue-list-navbar {
|
||||
order: 0;
|
||||
}
|
||||
|
|
@ -31,6 +27,37 @@
|
|||
.issue-list-search {
|
||||
order: 2 !important;
|
||||
}
|
||||
/* Don't use flex wrap on mobile as it takes too much vertical space.
|
||||
* Only set overflow properties on mobile screens, because while the
|
||||
* CSS trick to pop out from overflowing works on desktop screen, it
|
||||
* has a massive flaw that it cannot inherited any max width from it's 'real'
|
||||
* parent and therefor ends up taking more vertical space than is desired.
|
||||
**/
|
||||
.issue-list-toolbar-right .filter.menu {
|
||||
flex-wrap: nowrap;
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
/* The following few CSS was created with care and built with the information
|
||||
* from CSS-Tricks: https://css-tricks.com/popping-hidden-overflow/
|
||||
*/
|
||||
|
||||
/* It's important that every element up to .issue-list-toolbar-right doesn't
|
||||
* have a position set, such that element that wants to pop out will use
|
||||
* .issue-list-toolbar-right as 'clip parent' and thereby avoids the
|
||||
* overflow-y: hidden.
|
||||
*/
|
||||
.issue-list-toolbar-right .filter.menu > .dropdown.item {
|
||||
position: initial;
|
||||
}
|
||||
/* It's important that this element and not an child has `position` set.
|
||||
* Set width so that overflow-x knows where to stop overflowing.
|
||||
*/
|
||||
.issue-list-toolbar-right {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
#issue-list .flex-item-title .labels-list {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue