Comments (4)
We likely need to adjust the --ion-border-color
value (or similar) for items in lists. I can reproduce the same behavior in Ionic 7: https://stackblitz.com/edit/motuzy-kmn4fz?file=package.json,src%2Fmain.ts,src%2Ftheme%2Fvariables.css,src%2Fenv.d.ts
The accordion has this problem because it has color="light"
and we use the shade variant for the border.
from ionic-framework.
Thanks for taking a look.
from ionic-framework.
Here's a dev build that should fix the contrast issue for Items without the color
property: 8.0.1-dev.11713911458.1ad5f4cf
I'll need to take a closer look at how best to handle the case where color
is set. For most colors in the palette, using the shade for the border is fine since we lighten the base color in dark mode. This is not the case for the light
color in dark mode (and similarly, the dark
color in light mode) since the base color actually gets darker.
from ionic-framework.
Thanks for the issue. This has been resolved via #29398, and a fix will be available in an upcoming release of Ionic Framework. This PR fixes the issue where the wrong border color was used on an item without the color
prop in dark mode.
The other issue is a bit tricky to automatically solve for every use case. In some cases we need to use the tint for the border color, and in others we need to use the shade. This decision needs to be based on color contrast which we don't have a great way of automatically determining at runtime. Ideally we'd be able to use color-contrast
which would choose the value that yields the higher contrast. However, the browser support for this is limited to Safari 15+ as of writing.
As browser support improves for color-contrast
we'll be happy to consider adding support for this automatically. Here is a workaround you can implement in your application to resolve the issue for now:
@media (prefers-color-scheme: dark) {
ion-item.ion-color-light::part(native) {
border-color: var(--ion-color-tint);
}
}
from ionic-framework.
Related Issues (20)
- feat: ion-searchbar helperText HOT 6
- bug: ion-input debounce is not set with binding syntax on initial load HOT 4
- bug: iOS - Tap on status bar doesnโt scroll to top HOT 3
- feat: status bar dark in dark-mode HOT 4
- bug: bundle size increase with IonicModule and lazy loaded web components in v8.0.1 HOT 4
- bug: root remains `aria-hidden` after dismissing multiple overlays consecutively
- bug: pushing and popping views can unmount entering view when done quickly HOT 3
- [TRAINING] bug: ion-input retained in memory after removed from DOM
- CapacitorHttp FormData Not Supported on Android Device but it working fine on ionic serve(browser) HOT 1
- bug: Keyboard expansion unable to push bottom elements HOT 2
- bug: ion-header with collapse="fade" displays background and border temporally HOT 1
- bug: Unexpected ion-menu opening on another page HOT 1
- bug: tab sub-page navigation breaks occasionally with ionic-vue-router HOT 1
- bug: segment does not set active button when dynamically changing options in angular HOT 4
- @ionic/react-router not compatible with latest version of ERROR in ./node_modules/@ionic/react-router/dist/index.js 890:18-28 export 'withRouter' (imported as 'withRouter') was not found in 'react-router-dom HOT 3
- [TRAINING] bug: button retained in memory after removed from DOM
- bug: scroll element not reachable in CI HOT 1
- bug: occasional page animation issues HOT 2
- bug: ion-item + ion-checkbox on 'start' slot not respect width on v8 (v7 was ok) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ionic-framework.