Reputation: 71
I have a mysterious CSS
related problem with scrolling, I created a sample from my project here: my project.
Briefly, the problem is the scrolling does not work on IOS
Safari
and Chrome
, but it works perfectly fine in Android, any ideas? I have not observed any problems in PC.
Cheers.
EDIT:
The .contentContainer
element needs to scroll.
I have tried these:
-webkit-overflow-scrolling: touch;
-webkit-transform: translateZ(0);
Still no luck.
android(scroll working - scroll area shown with an arrow):
ios(scroll not working):
Upvotes: 0
Views: 7793
Reputation: 4902
I am not pretty much sure what you need, I simple allowed all scroll now which one you want
* {
margin: 0;
padding: 0;
box-sizing: border-box;
-webkit-user-drag: none;
position: relative;
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
-webkit-overflow-scrolling: touch;
}
html,
body {
height: 100%;
direction: rtl;
overflow: hidden;
-webkit-backface-visibility: hidden;
}
/*===========main layout*/
body {
font-family: "vazir";
font-size: 14px;
color: var(--color-text-primary);
display: grid;
background-color: var(--color-background-primary);
grid-template-columns: repeat(2, 88px) repeat(10, 1fr);
grid-template-rows: 64px repeat(11, 1fr);
}
.nav {
background-color: var(--color-background-nav);
grid-column: 1 / 3;
grid-row: 1 / 13;
-webkit-box-shadow: var(--main-shadow-vlues);
-moz-box-shadow: var(--main-shadow-vlues);
box-shadow: var(--main-shadow-vlues);
z-index: 4;
position: relative;
}
header.header {
background-color: var(--color-background-section);
grid-row: 1 / 2;
grid-column: 3 / 13;
-webkit-box-shadow: var(--main-shadow-vlues);
-moz-box-shadow: var(--main-shadow-vlues);
box-shadow: var(--main-shadow-vlues);
z-index: 2;
position: relative;
}
.main {
grid-row: 2 / 13;
grid-column: 3 / 13;
z-index: 1;
position: relative;
}
/*========nav styles*/
.nav {
position: relative;
display: flex;
flex-direction: column;
justify-content: flex-start;
padding: 16px;
color: var(--color-text-nav);
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
height: 100vh;
overflow-y: auto;
}
.nav .navigation {
height: calc(100% - 152px);
}
.nav header {
display: flex;
width: 100%;
height: 136px;
padding: 16px 0;
flex-direction: column;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid var(--color-text-inactive);
margin-bottom: 16px;
}
.nav .navLogo {
background-image: var(--logo-nav);
background-repeat: no-repeat;
background-position: center;
background-size: 72px;
width: 64px;
height: 64px;
}
.nav .logout {
height: 48px;
line-height: 48px;
font-size: .8em;
background-image: var(--icon-exit);
background-size: 24px;
background-repeat: no-repeat;
background-position: right center;
padding-right: 32px;
cursor: pointer;
border: 1px solid var(--color-border-light);
margin-bottom: 16px;
border-radius: 4px;
}
.nav .navigation .navItem {
min-height: 48px;
cursor: pointer;
border-bottom: 1px solid var(--color-border-light);
display: flex;
flex-direction: column;
position: relative;
}
.nav .navSection.title {
background-image: var(--icon-nav-dropdown);
background-repeat: no-repeat;
background-position: left 0 top 0;
}
.nav [data-collapsed='false'] .navSection.title {
background-image: var(--icon-nav-pullup);
}
.nav .navigation .navItem[data-collapsed = true] {
height: 48px;
}
.nav .navigation .navItem[data-collapsed = true] .navSubsection {
display: none;
}
.nav .navigation .navItem a {
display: block;
line-height: 48px;
color: var(--color-text-nav-inactive);
text-decoration: none;
position: relative;
user-drag: none;
-webkit-user-drag: none;
}
.nav .navigation .navItem a.active {
color: var(--color-text-nav-active);
}
.nav .navigation .navItem a:hover:not(.active) {
color: var(--color-text-nav-hover);
}
.nav .navigation .navItem a.navSubsection {
line-height: 32px;
padding-right: 12px;
}
/*============header styles*/
header.header {
display: flex;
justify-content: space-between;
}
header.header .userInfo {
display: flex;
justify-content: flex-end;
align-items: center;
user-select: none;
}
header.header .userName {
line-height: 64px;
}
/*icon=================================*/
.iconContainer {
display: flex;
height: 100%;
padding: 8px;
align-items: center;
justify-content: center;
}
.icon {
display: inline-block;
width: 40px;
height: 40px;
background-size: 20px 20px;
background-repeat: no-repeat;
background-position: center;
}
/*=======================main section styles*/
main.main {
/* overflow: hidden; */
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.mainContainer {
background-color: var(--color-background-section);
border-radius: 4px;
height: 100%;
padding: 16px;
/* overflow: hidden; */
-webkit-box-shadow: var(--main-shadow-vlues);
-moz-box-shadow: var(--main-shadow-vlues);
box-shadow: var(--main-shadow-vlues);
display: grid;
grid-template-rows: minmax(48px, auto) 1fr;
}
.sectionHeader {
display: flex;
border-bottom: 1px solid var(--color-border-heavy);
}
.sectionHeader h1 {
font-size: 1em;
}
.sectionHeader h2 {
font-size: 1.5em;
margin-right: 1em;
}
.mainContainer > .contentContainer {
margin-top: 16px;
height: calc(100% - 16px);
overflow: auto;
}
.tabContent .contentContainer {
height: 100%;
}
/*=====================widget styles*/
section.widgetGrid {
min-width: 280px;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
grid-gap: 16px;
}
div.widget {
position: relative;
height: 128px;
border: 1px solid #222;
background-size: 96px;
background-repeat: no-repeat;
background-position: top 16px right 16px;
padding: 16px 128px 16px 16px;
text-align: center;
font-weight: var(--font-weight-paragraph);
border-radius: 4px;
}
/*media queries======================================================*/
@media screen and (max-width: 768px) {
body {
grid-template-columns: 1fr;
grid-template-rows: 64px repeat(10, 1fr) 64px;
position: relative;
}
.nav {
width: 176px;
position: absolute;
height: 100vh;
right: -176px;
top: 0;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
transition: right var(--default-transition);
}
.nav.visible {
right: 0;
-webkit-box-shadow: var(--main-shadow-vlues);
-moz-box-shadow: var(--main-shadow-vlues);
box-shadow: var(--main-shadow-vlues);
}
header.header {
grid-column: 1 / 2;
grid-row: 1 / 2;
}
.main {
grid-column: 1 / 2;
grid-row: 2 / 13;
}
}
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<title>پنل مدیریتی نفیس</title>
</head>
<body data-theme="light">
<header class="header">
<section class="iconContainer">
<div class="icon intractable hamburger"></div>
<div class="icon intractable theme"></div>
</section>
<section class="userInfo">
<div class="userName">
<span class="userFirstName">آرش</span>
<span class="userLastName">چایچی</span>
</div>
<div class="userAvatar"></div>
</section>
</header>
<nav class="nav">
<div class="icon intractable hideNav"></div>
<header>
<div class="navLogo"></div>
<h3 class="navHeaderTitle">پنل ادمین نفیس</h3>
</header>
<section class="logout">
<span>خروج از حساب کاربری</span>
</section>
<section class="navigation">
<div class="navItem open" data-collapsed="false">
<a href="#" class="navSection active" id="dashboard">داشبورد</a>
</div>
<div class="navItem" data-collapsed="true">
<a href="#" class="navSection title" id="commission">پورسانت</a>
<a href="#" class="navSubsection" id="commissionCalculation">محاسبه</a>
<a href="#" class="navSubsection" id="internCommissionSettings">تنظیمات آغازگر</a>
<a href="#" class="navSubsection" id="voucherCommissionSettings">تنظیمات معرف</a>
<a href="#" class="navSubsection" id="multiLevelCommissionSettings">تنظیمات چندسطحی</a>
<a href="#" class="navSubsection" id="retailCommissionSettings">تنظیمات خرده فروشی</a>
<a href="#" class="navSubsection" id="nafisCommissionSettings">تنظیمات نفیس</a>
<a href="#" class="navSubsection" id="nafisNetworkerCommissionSettings">تنظیمات نفیس شبکه‌ساز</a>
<a href="#" class="navSubsection" id="networkerCommissionSettings">تنظیمات شبکه‌ساز</a>
<a href="#" class="navSubsection" id="supporterCommissionSettings">تنظیمات حامی</a>
<a href="#" class="navSubsection" id="managersCommissionSettings">تنظیمات مدیران</a>
<a href="#" class="navSubsection" id="seniorManagersCommissionSettings">تنظیمات مدیران ارشد</a>
</div>
<div class="navItem" data-collapsed="true">
<a href="#" class="navSection title" id="orders">سفارش‌ها</a>
<a href="#" class="navSubsection" id="ordersList">لیست سفارش‌ها</a>
<a href="#" class="navSubsection" id="warehouseExit">خروج از انبار</a>
</div>
<div class="navItem" data-collapsed="true">
<a href="#" class="navSection title" id="productsSection">محصولات</a>
<a href="#" class="navSubsection" id="brands">برندها</a>
<a href="#" class="navSubsection" id="categories">گروه‌ها</a>
<a href="#" class="navSubsection" id="products">محصولات</a>
<a href="#" class="navSubsection" id="productsLogs">تاریخچه‌ی محصولات</a>
</div>
<div class="navItem" data-collapsed="true">
<a href="#" class="navSection title" id="roles">نقش‌ها</a>
<a href="#" class="navSubsection" id="rolesSettings">تنظیمات</a>
<a href="#" class="navSubsection" id="userRoles">کاربران</a>
</div>
<div class="navItem" data-collapsed="true">
<a href="#" class="navSection title" id="settings">تنظیمات</a>
<a href="#" class="navSubsection" id="changePassword">تغییر کلمه‌ی عبور</a>
</div>
</section>
</nav>
<main class="main">
<section class="mainContainer">
<header class="sectionHeader">
<h1>داشبورد</h1>
<h2>داشبورد</h2>
</header>
<section class="contentContainer">
<section class="widgetGrid"><div class="widget sales"><span class="day">سه شنبه</span><span class="date">10</span><h2>فروش امروز</h2><span class="money">119,618,950</span></div><div class="widget invoice"><span class="day">سه شنبه</span><span class="date">10</span><h2>تعداد فاکتور امروز</h2><span class="info">297</span></div><div class="widget sales"><span class="month">دی</span><span class="year">1398</span><h2>فروش ماه</h2><span class="money">3,787,818,130</span></div><div class="widget invoice"><span class="month">دی</span><span class="year">1398</span><h2>تعداد فاکتور ماه</h2><span class="info">10,029</span></div><div class="widget sales"><span class="day">سه شنبه</span><span class="date">10</span><h2>فروش امروز</h2><span class="money">119,618,950</span></div><div class="widget invoice"><span class="day">سه شنبه</span><span class="date">10</span><h2>تعداد فاکتور امروز</h2><span class="info">297</span></div><div class="widget sales"><span class="month">دی</span><span class="year">1398</span><h2>فروش ماه</h2><span class="money">3,787,818,130</span></div><div class="widget invoice"><span class="month">دی</span><span class="year">1398</span><h2>تعداد فاکتور ماه</h2><span class="info">10,029</span></div></section></section>
</section>
</main>
<div class="navScrim"></div></body></html>
Upvotes: 1