New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prevent layout shift in <overflow-menu>
items
#29831
Conversation
<overflow-menu>
items<overflow-menu>
items
<overflow-menu>
items<overflow-menu>
items
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer either:
- Make all "tab" items use the same normal font weight
- Make all "tab" items use the same semi-bold font weight
Instead of this trick .....
TBH I do not see toggling the font weight for tab items would really help the user experence.
I do prefer active tab to be bold, it gives a visual distinction. Imho, it's better than color alone. The only other option i consider is making all normal weight and distinguish by color alone. |
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
* origin/main: Fix loadOneBranch panic (go-gitea#29938) Fix comment review avatar alignment (go-gitea#29935) Remove the negative margin from `.page-content` (go-gitea#29922) Move notifications to a standalone file (go-gitea#29930) Remove unnecessary ".Link" usages (go-gitea#29929) Remove unnecessary ".Link" usages (go-gitea#29909) Show Actions post step when it's running (go-gitea#29926) Fix the wrong default value of ENABLE_OPENID_SIGNIN on docs (go-gitea#29925) Restore deleted branches when syncing (go-gitea#29898) Don't lock using GitHub actions (go-gitea#29913) Remove jQuery `.attr` from the user search box (go-gitea#29919) Remove jQuery `.attr` from the archive download and compare page branch selector (go-gitea#29918) Remove jQuery `.attr` from the image diff (go-gitea#29917) Remove jQuery `.attr` from the quick pull request button text (go-gitea#29916) Remove jQuery `.attr` from the issue author dropdown (go-gitea#29915)
There is a small layout shift in when active tab changes. Notice how the actions SVG is unstable: ![](https://github.com/go-gitea/gitea/assets/115237/a6928e89-5d47-4a91-8f36-1fa22fddbce7) This is because the active item with bold text is wider then the inactive one. I have applied [this trick](https://stackoverflow.com/a/32570813/808699) to prevent this layout shift. It's only active inside `<overflow-menu>` because I wanted to avoid changing HTML and doing it in regular JS would cause a flicker. I don't expect us to introduce other similar menus without `<overflow-menu>`, so that place is likely fine. ![after](https://github.com/go-gitea/gitea/assets/115237/d6089924-8de6-4ee0-8db4-15f16069a131) I also changed the weight from 500 to 600, slightly reduced horizontal padding, merged some tab-bar related CSS rules and a added a small margin below repo-header so it does not look so crammed against the buttons on top. --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
* giteaofficial/main: (34 commits) Refactor URL detection (go-gitea#29960) Solving the issue of UI disruption when the review is deleted without refreshing (go-gitea#29951) Fix JS error and improve error message styles (go-gitea#29963) Fix the bug that user may logout if he switch pages too fast (go-gitea#29962) Cancel previous runs of the same PR automatically (go-gitea#29961) Exclude `routers/private/tests` from air (go-gitea#29949) Remove codecov badge (go-gitea#29950) Misc color tweaks (go-gitea#29943) Fix and rewrite markup anchor processing (go-gitea#29931) Remove fomantic grid module (go-gitea#29894) Add background to dashboard navbar, fix missing padding (go-gitea#29940) Prevent layout shift in `<overflow-menu>` items (go-gitea#29831) Fix loadOneBranch panic (go-gitea#29938) Fix comment review avatar alignment (go-gitea#29935) Remove the negative margin from `.page-content` (go-gitea#29922) Move notifications to a standalone file (go-gitea#29930) Remove unnecessary ".Link" usages (go-gitea#29929) Remove unnecessary ".Link" usages (go-gitea#29909) Show Actions post step when it's running (go-gitea#29926) Fix the wrong default value of ENABLE_OPENID_SIGNIN on docs (go-gitea#29925) ... # Conflicts: # templates/user/dashboard/issues.tmpl
* origin/main: (332 commits) Refactor external URL detection (go-gitea#29973) Refactor repo header/list (go-gitea#29969) Fix various loading states, remove `.loading` class (go-gitea#29920) Update register application URL for GitLab (go-gitea#29959) Refactor StringsToInt64s (go-gitea#29967) Switch to happy-dom for testing (go-gitea#29948) Performance improvements for pull request list page (go-gitea#29900) Refactor URL detection (go-gitea#29960) Solving the issue of UI disruption when the review is deleted without refreshing (go-gitea#29951) Fix JS error and improve error message styles (go-gitea#29963) Fix the bug that user may logout if he switch pages too fast (go-gitea#29962) Cancel previous runs of the same PR automatically (go-gitea#29961) Exclude `routers/private/tests` from air (go-gitea#29949) Remove codecov badge (go-gitea#29950) Misc color tweaks (go-gitea#29943) Fix and rewrite markup anchor processing (go-gitea#29931) Remove fomantic grid module (go-gitea#29894) Add background to dashboard navbar, fix missing padding (go-gitea#29940) Prevent layout shift in `<overflow-menu>` items (go-gitea#29831) Fix loadOneBranch panic (go-gitea#29938) ...
There is a small layout shift in when active tab changes. Notice how the actions SVG is unstable:
This is because the active item with bold text is wider then the inactive one. I have applied this trick to prevent this layout shift. It's only active inside
<overflow-menu>
because I wanted to avoid changing HTML and doing it in regular JS would cause a flicker. I don't expect us to introduce other similar menus without<overflow-menu>
, so that place is likely fine.I also changed the weight from 500 to 600, slightly reduced horizontal padding, merged some tab-bar related CSS rules and a added a small margin below repo-header so it does not look so crammed against the buttons on top.