@ionic/core
Version:
Base components for Ionic
100 lines (87 loc) • 2.65 kB
CSS
:host {
/**
* @prop --background: Background of the Content
* @prop --color: Color of the Content
* @prop --padding-top: Padding top of the Content
* @prop --padding-bottom: Padding bottom of the Content
* @prop --padding-start: Padding start of the Content
* @prop --padding-end: Padding end of the Content
* @prop --keyboard-offset: Keyboard offset of the Content
* @prop --offset-top: Offset top of the Content
* @prop --offset-bottom: Offset bottom of the Content
*/
--background: var(--ion-background-color, #fff);
--color: var(--ion-text-color, #000);
--padding-top: 0px;
--padding-bottom: 0px;
--padding-start: 0px;
--padding-end: 0px;
--keyboard-offset: 0px;
--offset-top: 0px;
--offset-bottom: 0px;
--overflow: auto;
display: block;
position: relative;
flex: 1;
width: 100%;
height: 100%;
/* stylelint-disable */
margin: 0 ;
padding: 0 ;
/* stylelint-enable */
font-family: var(--ion-font-family, inherit);
contain: size style; }
:host(.ion-color) .inner-scroll {
background: var(--ion-color-base);
color: var(--ion-color-contrast); }
:host(.outer-content) {
--background: var(--ion-color-step-50, #f2f2f2); }
.inner-scroll {
left: 0px;
right: 0px;
top: calc(var(--offset-top) * -1);
bottom: calc(var(--offset-bottom) * -1);
padding-left: var(--padding-start);
padding-right: var(--padding-end);
padding-top: calc(var(--padding-top) + var(--offset-top));
padding-bottom: calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));
position: absolute;
background: var(--background);
color: var(--color);
box-sizing: border-box;
overflow: hidden; }
@supports (margin-inline-start: 0) or (-webkit-margin-start: 0) {
.inner-scroll {
padding-left: unset;
padding-right: unset;
-webkit-padding-start: var(--padding-start);
padding-inline-start: var(--padding-start);
-webkit-padding-end: var(--padding-end);
padding-inline-end: var(--padding-end); } }
.scroll-y,
.scroll-x {
-webkit-overflow-scrolling: touch;
will-change: scroll-position;
overscroll-behavior: contain; }
.scroll-y {
touch-action: pan-y;
overflow-y: var(--overflow); }
.scroll-x {
touch-action: pan-x;
overflow-x: var(--overflow); }
.scroll-x.scroll-y {
touch-action: auto; }
.overscroll::before,
.overscroll::after {
position: absolute;
width: 1px;
height: 1px;
content: ""; }
.overscroll::before {
bottom: -1px; }
.overscroll::after {
top: -1px; }
:host(.content-sizing) {
contain: none; }
:host(.content-sizing) .inner-scroll {
position: relative; }