Я строю интерфейс чата, где последнее сообщение растет динамически (потоковой текст). Мне нужно это сообщение, чтобы оставаться выровненным с верхней частью контейнера для прокрутки по мере его роста.
Я придумал это плохое решение, где я рассчитываю (высота контейнера - высота сообщения) + 8px и устанавливаю его в виде поля, чтобы позволить некоторым прокладкам Scryk (избегая сообщения, чтобы натолкнуть на основание, когда текст является очень коротким). Динамическая заполнение/маржа на основе его собственного размера без расчетов javaScript QuerySelector и ручной высоты? Или какие-либо новые функции CSS (запросы контейнеров, позиционирование якоря и т. Д.), Которые могли бы решить это? class = "Snippet-Code-Html Lang-Html PrettyPrint-Override">
Я строю интерфейс чата, где последнее сообщение растет динамически (потоковой текст). Мне нужно это сообщение, чтобы оставаться выровненным с верхней частью контейнера для прокрутки по мере его роста. Я придумал это плохое решение, где я рассчитываю (высота контейнера - высота сообщения) + 8px и устанавливаю его в виде поля, чтобы позволить некоторым прокладкам Scryk (избегая сообщения, чтобы натолкнуть на основание, когда текст является очень коротким). Динамическая заполнение/маржа на основе его собственного размера без расчетов javaScript QuerySelector и ручной высоты? Или какие-либо новые функции CSS (запросы контейнеров, позиционирование якоря и т. Д.), Которые могли бы решить это? class = "Snippet-Code-Html Lang-Html PrettyPrint-Override">[code]
Minimal Chat Interface
body { font-family: Arial, sans-serif; margin: 20px; background-color: #f5f5f5; }
Hey there! How are you doing? Hello! I'm doing great, thank you for asking. Can you explain how this works?
I'd be happy to explain! This is a streaming message...
let textLevel = 1; const baseText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit"; const loremTexts = [ ", sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.", " Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.", " Nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit.", " In voluptate velit esse cillum dolore eu fugiat nulla pariatur.", " Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia.", " Deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus.", " Error sit voluptatem accusantium doloremque laudantium, totam rem aperiam.", " Eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae.", " Dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur.", " Aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione." ];
function getLoremText() { let fullText = baseText; for (let i = 0; i < textLevel; i++) { fullText += loremTexts[i % loremTexts.length]; } return fullText; }
// Scroll so streaming message top aligns with the red line const messageTopInContainer = streamingMessage.offsetTop - container.offsetTop; const targetScrollTop = messageTopInContainer - 22; // Account for padding + red line
container.scrollTop = targetScrollTop; }
// Initialize - only scroll on initial load updateStreamingMessage();
// Initial scroll to alignment after page loads (only once) window.addEventListener('load', () => { setTimeout(scrollToAlignment, 100); });
Я строю интерфейс чата, где последнее сообщение растет динамически (потоковой текст). Мне нужно это сообщение, чтобы оставаться выровненным с верхней частью контейнера для прокрутки по мере его роста.
Я придумал это плохое решение, где я...
Я строю интерфейс чата, где последнее сообщение растет динамически (потоковой текст). Мне нужно это сообщение, чтобы оставаться выровненным с верхней частью контейнера для прокрутки по мере его роста.
Я придумал это плохое решение, где я...
Проблема
Я пытаюсь отобразить несколько изображений в readme.md на github с краем x px между ними. Но по какой-то причине Гитуб, кажется, лишает маржинального права: 30px стиль.
markdown
[
foo.svg height=30
](
[
bar.svg height=30
](...
Проблема
Я пытаюсь отобразить несколько изображений в readme.md на github с краем x px между ними. Но по какой-то причине Гитуб, кажется, лишает маржинального права: 30px стиль.
markdown
[
foo.svg height=30
](
[
bar.svg height=30
](...
В настоящее время у меня есть SVG в HTML, который динамически имеет размер, так что его высота занимает весь экран без полос прокрутки. Я пытаюсь немного смягчить его и добавить равное количество пустого пространства между SVG и верхним и нижним...