Header 当 table 的文本方向设置为 rtl 时,排序图标与文本重叠
Header Sort Icon overlapping with text when table's text direction is set to rtl
我一直在尝试使用制表符创建 table,但我 运行 遇到了一个问题,即当 table 的文本出现时,文本与排序器图标重叠direction 设置为 rtl,因为排序器图标保持在与通常相同的位置(当 table 为 ltr 时)。我附上了一个代码片段以显示问题。
A picture of the visual problem
我可以在 JavaScript 或 CSS 中附加一些设置,这将使排序器图标正确显示,或者排序箭头是否与 rtl 不兼容 table/text方向。
let data = [{
שם: "חנה",
מקצוע: "טבחית",
גיל: 56
},
{
שם: "אברהם",
מקצוע: "מלצר",
גיל: 24
},
{
שם: "חיים",
מקצוע: "טבח",
גיל: 19
},
{
שם: "מאיה",
מקצוע: "טבחית",
גיל: 24
},
{
שם: "שרה",
מקצוע: "מלצרית",
גיל: 51
},
{
שם: "אביגיל",
מקצוע: "מארחת",
גיל: 21
},
{
שם: "נור",
מקצוע: "מלצרית",
גיל: 54
},
{
שם: "יוסף",
מקצוע: "מלצר",
גיל: 36
},
{
שם: "עומר",
מקצוע: "מלצר",
גיל: 37
},
{
שם: "אריאל",
מקצוע: "טבחית",
גיל: 41
},
{
שם: "מחמוד",
מקצוע: "מארח",
גיל: 24
},
{
שם: "ג'מיל",
מקצוע: "מארח",
גיל: 45
},
];
let table = new Tabulator("#myTable", {
data: data,
layout: "fitDataTable",
columns: [{
title: "שם",
field: "שם"
},
{
title: "מקצוע",
field: "מקצוע"
},
{
title: "גיל",
field: "גיל"
},
],
});
<!DOCTYPE html>
<html lang="he" dir="rtl">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script src="https://unpkg.com/tabulator-tables@4.9.3/dist/js/tabulator.min.js"></script>
<link href="https://unpkg.com/tabulator-tables@4.9.3/dist/css/tabulator.min.css" rel="stylesheet" />
</head>
<body>
<vis id="myTable"> </vis>
</body>
</html>
查看tabulator stylesheet,.tabulator-col-sorter
使用绝对定位。
将此添加到您自己的样式表中:
.tabulator-col-sorter {
right: auto !important;
left: 0;
}
如果您的样式 运行 在 tabulator stylesheet 之后,则您不需要使用 !important
规则。
这是添加了上述 CSS 的代码段。
let data = [{
שם: "חנה",
מקצוע: "טבחית",
גיל: 56
},
{
שם: "אברהם",
מקצוע: "מלצר",
גיל: 24
},
{
שם: "חיים",
מקצוע: "טבח",
גיל: 19
},
{
שם: "מאיה",
מקצוע: "טבחית",
גיל: 24
},
{
שם: "שרה",
מקצוע: "מלצרית",
גיל: 51
},
{
שם: "אביגיל",
מקצוע: "מארחת",
גיל: 21
},
{
שם: "נור",
מקצוע: "מלצרית",
גיל: 54
},
{
שם: "יוסף",
מקצוע: "מלצר",
גיל: 36
},
{
שם: "עומר",
מקצוע: "מלצר",
גיל: 37
},
{
שם: "אריאל",
מקצוע: "טבחית",
גיל: 41
},
{
שם: "מחמוד",
מקצוע: "מארח",
גיל: 24
},
{
שם: "ג'מיל",
מקצוע: "מארח",
גיל: 45
},
];
let table = new Tabulator("#myTable", {
data: data,
layout: "fitDataTable",
columns: [{
title: "שם",
field: "שם"
},
{
title: "מקצוע",
field: "מקצוע"
},
{
title: "גיל",
field: "גיל"
},
],
});
.tabulator-col-sorter {
right: auto !important;
left: 0;
}
<!DOCTYPE html>
<html lang="he" dir="rtl">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script src="https://unpkg.com/tabulator-tables@4.9.3/dist/js/tabulator.min.js"></script>
<link href="https://unpkg.com/tabulator-tables@4.9.3/dist/css/tabulator.min.css" rel="stylesheet" />
</head>
<body>
<vis id="myTable"> </vis>
</body>
</html>
你可以简单地添加一些 css
.tabulator-arrow {
position: fixed;
}
let data = [{
שם: "חנה",
מקצוע: "טבחית",
גיל: 56
},
{
שם: "אברהם",
מקצוע: "מלצר",
גיל: 24
},
{
שם: "חיים",
מקצוע: "טבח",
גיל: 19
},
{
שם: "מאיה",
מקצוע: "טבחית",
גיל: 24
},
{
שם: "שרה",
מקצוע: "מלצרית",
גיל: 51
},
{
שם: "אביגיל",
מקצוע: "מארחת",
גיל: 21
},
{
שם: "נור",
מקצוע: "מלצרית",
גיל: 54
},
{
שם: "יוסף",
מקצוע: "מלצר",
גיל: 36
},
{
שם: "עומר",
מקצוע: "מלצר",
גיל: 37
},
{
שם: "אריאל",
מקצוע: "טבחית",
גיל: 41
},
{
שם: "מחמוד",
מקצוע: "מארח",
גיל: 24
},
{
שם: "ג'מיל",
מקצוע: "מארח",
גיל: 45
},
];
let table = new Tabulator("#myTable", {
data: data,
layout: "fitDataTable",
columns: [{
title: "שם",
field: "שם"
},
{
title: "מקצוע",
field: "מקצוע"
},
{
title: "גיל",
field: "גיל"
},
],
});
.tabulator-arrow {
position: fixed;
}
<!DOCTYPE html>
<html lang="he" dir="rtl">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script src="https://unpkg.com/tabulator-tables@4.9.3/dist/js/tabulator.min.js"></script>
<link href="https://unpkg.com/tabulator-tables@4.9.3/dist/css/tabulator.min.css" rel="stylesheet" />
</head>
<body>
<vis id="myTable"> </vis>
</body>
</html>
我一直在尝试使用制表符创建 table,但我 运行 遇到了一个问题,即当 table 的文本出现时,文本与排序器图标重叠direction 设置为 rtl,因为排序器图标保持在与通常相同的位置(当 table 为 ltr 时)。我附上了一个代码片段以显示问题。 A picture of the visual problem
我可以在 JavaScript 或 CSS 中附加一些设置,这将使排序器图标正确显示,或者排序箭头是否与 rtl 不兼容 table/text方向。
let data = [{
שם: "חנה",
מקצוע: "טבחית",
גיל: 56
},
{
שם: "אברהם",
מקצוע: "מלצר",
גיל: 24
},
{
שם: "חיים",
מקצוע: "טבח",
גיל: 19
},
{
שם: "מאיה",
מקצוע: "טבחית",
גיל: 24
},
{
שם: "שרה",
מקצוע: "מלצרית",
גיל: 51
},
{
שם: "אביגיל",
מקצוע: "מארחת",
גיל: 21
},
{
שם: "נור",
מקצוע: "מלצרית",
גיל: 54
},
{
שם: "יוסף",
מקצוע: "מלצר",
גיל: 36
},
{
שם: "עומר",
מקצוע: "מלצר",
גיל: 37
},
{
שם: "אריאל",
מקצוע: "טבחית",
גיל: 41
},
{
שם: "מחמוד",
מקצוע: "מארח",
גיל: 24
},
{
שם: "ג'מיל",
מקצוע: "מארח",
גיל: 45
},
];
let table = new Tabulator("#myTable", {
data: data,
layout: "fitDataTable",
columns: [{
title: "שם",
field: "שם"
},
{
title: "מקצוע",
field: "מקצוע"
},
{
title: "גיל",
field: "גיל"
},
],
});
<!DOCTYPE html>
<html lang="he" dir="rtl">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script src="https://unpkg.com/tabulator-tables@4.9.3/dist/js/tabulator.min.js"></script>
<link href="https://unpkg.com/tabulator-tables@4.9.3/dist/css/tabulator.min.css" rel="stylesheet" />
</head>
<body>
<vis id="myTable"> </vis>
</body>
</html>
查看tabulator stylesheet,.tabulator-col-sorter
使用绝对定位。
将此添加到您自己的样式表中:
.tabulator-col-sorter {
right: auto !important;
left: 0;
}
如果您的样式 运行 在 tabulator stylesheet 之后,则您不需要使用 !important
规则。
这是添加了上述 CSS 的代码段。
let data = [{
שם: "חנה",
מקצוע: "טבחית",
גיל: 56
},
{
שם: "אברהם",
מקצוע: "מלצר",
גיל: 24
},
{
שם: "חיים",
מקצוע: "טבח",
גיל: 19
},
{
שם: "מאיה",
מקצוע: "טבחית",
גיל: 24
},
{
שם: "שרה",
מקצוע: "מלצרית",
גיל: 51
},
{
שם: "אביגיל",
מקצוע: "מארחת",
גיל: 21
},
{
שם: "נור",
מקצוע: "מלצרית",
גיל: 54
},
{
שם: "יוסף",
מקצוע: "מלצר",
גיל: 36
},
{
שם: "עומר",
מקצוע: "מלצר",
גיל: 37
},
{
שם: "אריאל",
מקצוע: "טבחית",
גיל: 41
},
{
שם: "מחמוד",
מקצוע: "מארח",
גיל: 24
},
{
שם: "ג'מיל",
מקצוע: "מארח",
גיל: 45
},
];
let table = new Tabulator("#myTable", {
data: data,
layout: "fitDataTable",
columns: [{
title: "שם",
field: "שם"
},
{
title: "מקצוע",
field: "מקצוע"
},
{
title: "גיל",
field: "גיל"
},
],
});
.tabulator-col-sorter {
right: auto !important;
left: 0;
}
<!DOCTYPE html>
<html lang="he" dir="rtl">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script src="https://unpkg.com/tabulator-tables@4.9.3/dist/js/tabulator.min.js"></script>
<link href="https://unpkg.com/tabulator-tables@4.9.3/dist/css/tabulator.min.css" rel="stylesheet" />
</head>
<body>
<vis id="myTable"> </vis>
</body>
</html>
你可以简单地添加一些 css
.tabulator-arrow {
position: fixed;
}
let data = [{
שם: "חנה",
מקצוע: "טבחית",
גיל: 56
},
{
שם: "אברהם",
מקצוע: "מלצר",
גיל: 24
},
{
שם: "חיים",
מקצוע: "טבח",
גיל: 19
},
{
שם: "מאיה",
מקצוע: "טבחית",
גיל: 24
},
{
שם: "שרה",
מקצוע: "מלצרית",
גיל: 51
},
{
שם: "אביגיל",
מקצוע: "מארחת",
גיל: 21
},
{
שם: "נור",
מקצוע: "מלצרית",
גיל: 54
},
{
שם: "יוסף",
מקצוע: "מלצר",
גיל: 36
},
{
שם: "עומר",
מקצוע: "מלצר",
גיל: 37
},
{
שם: "אריאל",
מקצוע: "טבחית",
גיל: 41
},
{
שם: "מחמוד",
מקצוע: "מארח",
גיל: 24
},
{
שם: "ג'מיל",
מקצוע: "מארח",
גיל: 45
},
];
let table = new Tabulator("#myTable", {
data: data,
layout: "fitDataTable",
columns: [{
title: "שם",
field: "שם"
},
{
title: "מקצוע",
field: "מקצוע"
},
{
title: "גיל",
field: "גיל"
},
],
});
.tabulator-arrow {
position: fixed;
}
<!DOCTYPE html>
<html lang="he" dir="rtl">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script src="https://unpkg.com/tabulator-tables@4.9.3/dist/js/tabulator.min.js"></script>
<link href="https://unpkg.com/tabulator-tables@4.9.3/dist/css/tabulator.min.css" rel="stylesheet" />
</head>
<body>
<vis id="myTable"> </vis>
</body>
</html>