# Встроенные стили минимальной высоты, объявленные для topic-post на мобильных устройствах

**URL:** https://meta.discourse.org/t/inline-styles-of-minimal-height-declared-for-topic-post-on-mobile/272566
**Category:** Development
**Created:** [23.Июль.2023 19:06:38 UTC](https://meta.discourse.org/t/inline-styles-of-minimal-height-declared-for-topic-post-on-mobile/272566 "2023-07-23T19:06:38Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![manuel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/manuel/32/468169_2.png) [@manuel](https://meta.discourse.org/u/manuel)
#### Post date: [23.Июль.2023 19:06:39 UTC](https://meta.discourse.org/t/inline-styles-of-minimal-height-declared-for-topic-post-on-mobile/272566/1 "2023-07-23T19:06:39Z")

</div>

У меня есть тема, которая немного меняет отображение постов на мобильных устройствах. Сейчас я вижу, что макет искажается из-за объявлений `min-height`, которые вычисляются и внедряются как встроенные стили, как только я прокручиваю страницу:

 ![Screenshot from 2023-07-23 19-47-34](https://global.discourse-cdn.com/meta/original/4X/c/f/c/cfc8fe13bc7e5338b3b853cb45a2504a339e9c8c.png)

Например, здесь пост выглядит длиннее, чем должен быть, из-за `min-height`:

 ![image](https://global.discourse-cdn.com/meta/original/4X/2/e/c/2ec2eb92dc55ec2defda4cba80b7cd83af83476d.png)

Я мог бы объявить `min-height` как `unset` для постов. Судя по тому, что я пока вижу, это исправит макет. Но, возможно, я что-то упускаю? Я не понимаю, зачем вообще объявляются эти вычисления?

---

<div class="post-metadata">

### Author: ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)
#### Post date: [25.Июль.2023 15:47:25 UTC](https://meta.discourse.org/t/inline-styles-of-minimal-height-declared-for-topic-post-on-mobile/272566/2 "2023-07-25T15:47:25Z")

</div>

~~По умолчанию в Discourse этих вычислений я не вижу… есть ли тема или компонент, который их добавляет?~~

А, понял, они добавляются в длинных темах после загрузки дополнительных ответов (и удаления других).

Похоже, мы устанавливаем min-height, когда сообщения скрываются при прокрутке, поэтому, думаю, мы получаем высоту, чтобы положение прокрутки не менялось при удалении контента со страницы?

> [@Infinite scroll - is discourse recycling dom elements?](https://meta.discourse.org/t/infinite-scroll-is-discourse-recycling-dom-elements/211069/4?u=awesomerobot):
>
> No we leave them around, we have a “cloaking” piece of logic that replaces elements with a placeholder once you are very far from the viewport, then when you get closer to the element we uncloak by re-rendering. The threshold for this magic is quite high.

---

<div class="post-metadata">

### Author: ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)
#### Post date: [25.Июль.2023 16:32:41 UTC](https://meta.discourse.org/t/inline-styles-of-minimal-height-declared-for-topic-post-on-mobile/272566/3 "2023-07-25T16:32:41Z")

</div>

Я думаю, что именно здесь изначально была добавлена логика вычисления высоты: [FIX: Scroll jumping in some dimensions of browser · discourse/discourse@a77f5a7 · GitHub](https://github.com/discourse/discourse/commit/a77f5a75a1b8548b6c9b83afa67ab3aa3c6a70a1). Это подтверждает, что она предназначена для контроля «прыжков» при прокрутке.

Что касается исправления вашей конкретной проблемы, похоже, что измеряется высота элемента `.topic-post`. В вашей теме этот div по какой-то причине выше содержимого внутри? Мне интересно, почему, кажется, происходит некорректный расчет…
