suchen
HeimWeb-FrontendCSS-TutorialDer sauberste Trick für autharme Textbereiche

Der sauberste Trick für autharme Textbereiche

Anfang dieses Jahres schrieb ich einen Artikel über automatische Erweiterung von Textbereichen und Eingabefelden. Die Kernidee besteht darin, den Textbereich eher wie a zu machen<div> so dass seine Höhe automatisch entsprechend dem Inhalt eingestellt wird, um den aktuellen Wert zu berücksichtigen. Überraschenderweise gibt es noch keine einfache native Lösung, um dies zu erreichen, nicht wahr? Rückblickend auf diesen Artikel waren die Ideen, die ich vorlegte, nicht sehr ideal. Aber das am Ende des Artikels erwähnte Stephen Shaw -Schema ist ausgezeichnet. Daher möchte ich hervorheben und erklären, wie es funktioniert, weil es die endgültige Antwort auf solche Probleme der Benutzererfahrung zu sein scheint, bis wir eine bessere native Lösung erhalten. Wenn Sie nur die rennbaren Beispiele sehen möchten, lesen Sie die Demo:<h3 id="Der-Trick-besteht-darin-den-Inhalt-des-Textbereichs-genau-in-ein-Element-zu-kopieren-em-das-automatisch-die-Höhe-erweitern-und-seiner-Größe-entsprechen-kann-em"> Der Trick besteht darin, den Inhalt des Textbereichs genau in ein Element zu kopieren <em>, das automatisch die Höhe erweitern und seiner Größe entsprechen kann</em> .</h3> <p> Sie haben eine <code><textarea></textarea>,它无法自动扩展高度。

相反,您需要在另一个元素中精确复制<textarea></textarea>的外观、内容和位置。您可以隐藏副本的视觉效果(也可以保留实际功能的<textarea></textarea>可见)。

现在,这三个元素相互关联。最高的子元素会将父元素的高度推高,其他子元素也会随之调整。这意味着<textarea></textarea>的最小高度将成为“基准”高度,但如果复制的文本元素变得更高,则所有元素都会随之变高。

如此巧妙!我非常喜欢它。

您需要确保复制的元素完全相同

相同的字体、相同的填充、相同的边距、相同的边框……一切都要相同。它是一个完全相同的副本,只是通过visibility: hidden;隐藏了视觉效果。如果两者不完全相同,则所有元素的高度不会完全同步。

我们还需要在复制的文本上使用white-space: pre-wrap;,因为这是<textarea></textarea>的行为方式。

这是最奇怪的部分

在我的演示中,我使用::after来创建复制的文本。我不确定这是否是最佳方法。对我来说,这感觉很简洁,但我不知道使用<div aria-hidden="true">对于屏幕阅读器是否更安全?或者<code>visibility: hidden;就足够了吗?无论如何,这还不是最奇怪的部分。最奇怪的部分是:

<code>content: attr(data-replicated-value) " ";</code>

因为我使用的是伪元素,所以这一行将数据属性从元素中获取,并将内容呈现到页面上并添加了一个额外的空格(这就是最奇怪的部分)。如果您不这样做,最终结果会显得“跳跃”。我无法完全理解其中的原因,但它似乎能更好地处理<textarea></textarea>和文本元素之间的换行符行为。

如果您不想使用伪元素,也可以,但请注意“跳跃”行为。

特别感谢WillEarp和MartinTillmann,他们都在同一天随机发邮件提醒我Shaw的技巧有多么巧妙。这是Martin使用Alpine.js和Tailwind制作的示例,最终也类似于单行代码(但请注意它存在“跳跃”问题)。

我相信大家可以想象如何使用Vue和React等框架来实现这一点,并轻松地在<textarea></textarea>和其他元素之间维护状态。我不会在这里包含示例,部分原因是我比较懒,但主要是因为我认为您应该理解其工作原理。这将使您更聪明,并更好地理解您的网站。

Das obige ist der detaillierte Inhalt vonDer sauberste Trick für autharme Textbereiche. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Entmystifizierende Bildschirmleser: Zugrunde Formen und Best PracticesEntmystifizierende Bildschirmleser: Zugrunde Formen und Best PracticesMar 08, 2025 am 09:45 AM

Dies ist der 3. Beitrag in einer kleinen Serie, die wir in Form von Barrierefreiheit gemacht haben. Wenn Sie den zweiten Beitrag verpasst haben, lesen Sie "Verwalten des Benutzerfokus mit: Fokus-Sichtbar". In

Hinzufügen von Kastenschatten zu WordPress -Blöcken und -ElementenHinzufügen von Kastenschatten zu WordPress -Blöcken und -ElementenMar 09, 2025 pm 12:53 PM

Die CSS-Box-Shadow- und Umrisseigenschaften haben Thema gewonnen. JSON-Unterstützung in WordPress 6.1. Sei ein paar Beispiele für die Funktionsweise in realen Themen und welche Optionen wir diese Stile auf WordPress -Blöcke und Elemente anwenden müssen.

Arbeiten mit GraphQL CachingArbeiten mit GraphQL CachingMar 19, 2025 am 09:36 AM

Wenn Sie kürzlich mit GraphQL gearbeitet oder seine Vor- und Nachteile überprüft haben, haben Sie zweifellos Dinge wie "GraphQL nicht unterstützen Caching" oder gehört

Machen Sie Ihren ersten Seltsamen -Sufle -ÜbergangMachen Sie Ihren ersten Seltsamen -Sufle -ÜbergangMar 15, 2025 am 11:08 AM

Die Sufelte Transition -API bietet eine Möglichkeit, Komponenten zu beleben, wenn sie das Dokument eingeben oder verlassen, einschließlich benutzerdefinierter Svelte -Übergänge.

Edle und coole CSS -Scrollbars: Ein SchaufensterEdle und coole CSS -Scrollbars: Ein SchaufensterMar 10, 2025 am 11:37 AM

In diesem Artikel werden wir in die Welt der Scrollbars eintauchen. Ich weiß, es klingt nicht zu glamourös, aber vertrau mir, eine gut gestaltete Seite geht Hand in Hand

Show, Don ' TellShow, Don ' TellMar 16, 2025 am 11:49 AM

Wie viel Zeit damit, die Inhaltspräsentation für Ihre Websites zu entwerfen? Wenn Sie einen neuen Blog -Beitrag schreiben oder eine neue Seite erstellen, denken Sie darüber nach

Aufbau einer Ethereum -App mit Redwood.js und FaunaAufbau einer Ethereum -App mit Redwood.js und FaunaMar 28, 2025 am 09:18 AM

Mit dem jüngsten Aufstieg von Bitcoins Preis über 20.000 USD und kürzlich von 30.000, dachte ich, es lohnt

Was zum Teufel haben NPM -Befehle?Was zum Teufel haben NPM -Befehle?Mar 15, 2025 am 11:36 AM

NPM-Befehle führen verschiedene Aufgaben für Sie aus, entweder als einmalige oder als kontinuierlich ausgeführter Vorgang für Dinge wie das Starten eines Servers oder das Kompilieren von Code.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools