main { display: flex; height: 100vh; flex-direction: column; position: relative; } .messages { top: 74px; height: calc(100% - 74px); left: 0; right: 0; padding-left: 42px; padding-right: 26px; background: #fff; display: flex; flex: 1; flex-direction: column; position: fixed; z-index: 900; .row { flex: 1; } .author__name { font-weight: 500; } .author { position: relative; } } // список диалогов и юзеров .chat-list { display: flex; flex-direction: column; padding: 10px; height: calc(100% - 10px); $fade-height: 10px; .sidebar-header { display: flex; align-items: center; gap: 10px; } .holder { overflow: hidden; flex: 1; position: relative; padding: $fade-height 0; &::before, &::after { content: ''; position: absolute; width: 100%; right: 10px; z-index: 1; height: $fade-height; } &::before { top: 0; background: linear-gradient(white, transparent $fade-height); } &::after { bottom: 0; background: linear-gradient(transparent, white $fade-height); } .dialogs { scroll-behavior: smooth; display: flex; position: absolute; top: 0; bottom: 0; left: 0; right: 0; height: 100%; overflow: auto; flex-direction: column; box-sizing: border-box; } } } .chat-list__search, .interlocutor { border-bottom: 3px solid #141414; padding: 1em 0; } // табы выбора списка .chat-list__types { @include font-size(1.7rem); margin: 16px 0; ul { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; } li { margin-right: 1em; color: #696969; } strong { border-bottom: 3px solid; font-weight: normal; color: #000; } } .interlocutor { height: 56px; box-sizing: content-box; .circlewrap { height: 56px; max-width: 56px; width: 56px; } .author { margin-bottom: 0; &::before { left: 40px !important; height: 8px !important; width: 8px !important; } } .author__name { @include font-size(1.7rem); margin: 0.4em 0 0; } .author__details, .user-status { margin-left: 6.8rem; } .user-status { @include font-size(1.2rem); color: #ccc; } } .conversation { display: flex; flex-direction: column; } .conversation__messages { flex: 1; overflow: auto; position: relative; } .message-form { background: #fff; padding: 2px 0 12px 0; .wrapper { border: 2px solid #cccccc; border-radius: 16px; padding: 4px; display: flex; flex-direction: row; align-items: center; .grow-wrap { display: grid; width: 100%; &::after { content: attr(data-replicated-value) ' '; white-space: pre-wrap; visibility: hidden; transition: height 1.3s ease-in-out; } & textarea { margin-bottom: 0; font-family: inherit; border: none; resize: none; overflow: hidden; &:focus, &:focus-visible, &:active { border: none; outline: none; box-shadow: none; } } &::after, & textarea { /* Identical styling required!! */ font-weight: 400; font-size: 14px; line-height: 20px; padding: 8px; grid-area: 1 / 1 / 2 / 2; width: 100%; } } button { border: none; cursor: pointer; text-align: center; width: 20px; height: 20px; margin: auto 8px 8px 0; &:hover { .icon { opacity: 0.5; } } .icon { width: 100%; height: 100%; opacity: 0.2; transition: opacity 0.3s; } } } } .conversation__messages-container { left: 0; height: 100%; overflow: auto; position: absolute; top: 0; width: 100%; scroll-behavior: smooth; } .conversation__date { position: relative; text-align: center; &::before { background: #141414; content: ''; height: 1px; left: 0; position: absolute; top: 0.8em; width: 100%; z-index: -1; } time { background: #fff; @include font-size(1.5rem); color: #9fa1a7; padding: 0 0.5em; } }