Hello, first off thanks for the continued development and support of Anki (both desktop and mobile)!
tl;dr at bottom as well
Issue
When flipping from the question to the answer side of a card, I’m experiencing a flash of unstyled content/flicker when going through cards.
Debugging - File structure
Here’s the structure of my style sheets since that will provide context.
_style.css
_boostrap.css
_style.css uses @import url("_boostrap.css");. Both of them are stored in VCS but I don’t want the boostrap file clogging up _style.css hence the two files + import.
Debugging - Overview
First off, this is a new issue. I’ve had this setup with my CSS files for a few months now and the flash of unstyled content/flicker is new as of this week so maybe it’s something to do with 25.07 on iOS?
Regardless, I’m seeing this on multiple templates and from the debugging I’ve done so far it.
Debugging - Breakdown
When removing the @import url("_bootstrap.css"); from _style.css and moving the styles from _bootstrap.css inside _style.css I still get one flash of unstyled content/flicker on AnkiMobile for the first card but it looks to be cached after that. So subsequent cards don’t have a flash of unstyled content/flicker.
With the steps in the paragraph, answering a card, undoing the answer, then re-answering the card results in there not being a flash of unstyled content/flicker. So again caching seems to be working as expected.
This is not the case with _style.css is using @import url("_bootstrap.css");, subsequent cards still flicker even though I’d expect the styles to be cached*.
*Speculation
Maybe the caching isn’t working import @import url("_bootstrap.css"); is being used? ![]()
Debugging - Isolating File Size
Additionally, I wasn’t sure if the size of either of both files might have an impact but that doesn’t seem to be the case.
_style.css // 2kb
_boostrap.css // 282kb
_test.css // 25 bytes
/* _style.css contents */
* {
background: red
}
To isolated that I created an additional _test.css file and within style.css I imported that file using the same @import url("_test.css"); syntax. The issue still persisted.
Takeaway
For the time being, I’m just going to setup a git hook to minify the two css files into one (to avoid the seemingly problematic syntax) whenever I make changes, which isn’t very frequently, but it would be nice if the previous behavior* could be restored.
*(of using import url("_bootstrap.css"); within an external css file didn’t cause a flash of unstyled content/flicker)
Happy to provide additional context as well.
tl;dr
/* Current setup
*
* Flash of unstyled content/flicker */
_style.css // 2kb
@import url("_boostrap.css")
_boostrap.css // 282kb
/* Debug setup
*
* Flash of unstyled content/flicker */
_style.css // 2kb
@import url("_test.css")
_test.css // 25 bytes
/* Workaround setup
*
* Initial flash of unstyled content/flicker
* but then works (likely cached) as expected */
_style.min.css // 234kb with _boostrap.css copied inside
Additional Info
I saw this post + issue that have a similar topic but seem to be speaking of Anki desktop and not mobile specifically. (can’t link the posts unfortunately but here are there titles and platforms below)
- Flickering (since v2.1.45) on Anki Forms
- Issue 1455 on ankitects/anki

