summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantoliny0919 <antoliny0919@gmail.com>2025-08-16 10:23:13 +0900
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2025-08-26 13:45:28 +0200
commit3e7aedfb2eb37d0c83ce3ce936f1b89eb5451dfa (patch)
treed6cbb6213a7afbf52ab1db2ada86dbfeae7aa611
parent9efce80ca7daccbcf315a81b250f5dc8b6d453a1 (diff)
Fixed #36556 -- Fixed TabularInline width overflowing the page.
-rw-r--r--django/contrib/admin/static/admin/css/forms.css5
-rw-r--r--django/contrib/admin/templates/admin/edit_inline/tabular.html6
-rw-r--r--tests/admin_inlines/tests.py10
3 files changed, 18 insertions, 3 deletions
diff --git a/django/contrib/admin/static/admin/css/forms.css b/django/contrib/admin/static/admin/css/forms.css
index 057c5258f2..33f370eaba 100644
--- a/django/contrib/admin/static/admin/css/forms.css
+++ b/django/contrib/admin/static/admin/css/forms.css
@@ -432,9 +432,12 @@ body.popup .submit-row {
border: none;
}
+.inline-related.tabular div.wrapper {
+ overflow-x: auto;
+}
+
.inline-related.tabular fieldset.module table {
width: 100%;
- overflow-x: scroll;
}
.last-related fieldset {
diff --git a/django/contrib/admin/templates/admin/edit_inline/tabular.html b/django/contrib/admin/templates/admin/edit_inline/tabular.html
index 9367ac9b63..494d4677fa 100644
--- a/django/contrib/admin/templates/admin/edit_inline/tabular.html
+++ b/django/contrib/admin/templates/admin/edit_inline/tabular.html
@@ -15,7 +15,8 @@
</h2>
{% if inline_admin_formset.is_collapsible %}</summary>{% endif %}
{{ inline_admin_formset.formset.non_form_errors }}
- <table>
+ <div class="wrapper">
+ <table>
<thead><tr>
<th class="original"></th>
{% for field in inline_admin_formset.fields %}
@@ -62,7 +63,8 @@
</tr>
{% endfor %}
</tbody>
- </table>
+ </table>
+ </div>
{% if inline_admin_formset.is_collapsible %}</details>{% endif %}
</fieldset>
</div>
diff --git a/tests/admin_inlines/tests.py b/tests/admin_inlines/tests.py
index e73f4fda6e..7734c27873 100644
--- a/tests/admin_inlines/tests.py
+++ b/tests/admin_inlines/tests.py
@@ -2501,6 +2501,16 @@ class SeleniumTests(AdminSeleniumTestCase):
tabular_inline.find_elements(By.CSS_SELECTOR, ".collapse"),
[],
)
+ # The table does not overflow the content section.
+ content = self.selenium.find_element(By.ID, "content-main")
+ tabular_wrapper = self.selenium.find_element(
+ By.CSS_SELECTOR, "div.tabular.inline-related div.wrapper"
+ )
+ self.assertGreater(
+ tabular_wrapper.find_element(By.TAG_NAME, "table").size["width"],
+ tabular_wrapper.size["width"],
+ )
+ self.assertLessEqual(tabular_wrapper.size["width"], content.size["width"])
@screenshot_cases(["desktop_size", "mobile_size", "rtl", "dark", "high_contrast"])
def test_tabular_inline_delete_layout(self):