html - 如何根据其内部文本(英语/阿拉伯语)设置正确的元素 css 方向(ltr/rtl)?

标签 html asp.net

我想在单击按钮时使阿拉伯语文本从右到左对齐,而英语文本从右对齐。我可以通过为英语和阿拉伯语动态更改每个文本对齐方式来做到这一点,这是一个漫长的过程。

简而言之,任何人都可以给出一个想法。任何建议真的很感激。

最佳答案

您可以使用 css 轻松设置内容方向。

html:

<div class="rtl">اليمين إلى اليسار</div>
<div class="ltr">Left to right</div>

CSS:

.rtl{direction:rtl;text-align:right;}
.ltr{direction:ltr;text-align:left;}

编辑:

要使其在按钮点击时动态发生,请执行以下操作:

javascript & jQuery(我建议在这种情况下使用 jQuery):

// function that returns true if input is arabic, else false
function is_arabic(str) {
    var arabic = /[\u0600-\u06FF]/;
    return arabic.test(str);
}

// on button click
$(function(){
    $('#buttonID').click(function(){ // assuming 'buttonID' is the button id
        $('div').each(function(){ // iterate all DIV elements 
            if (is_arabic($(this).text())
                $(this).addClass('rtl').removeClass('ltr');
            else
                $(this).removeClass('rtl').addClass('ltr');
        });
    });
});

只要确保使用上面提到的 CSS 规则即可。

希望对您有所帮助。

关于html - 如何根据其内部文本(英语/阿拉伯语)设置正确的元素 css 方向(ltr/rtl)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20116534/

相关文章:

html - Bootstrap 将文本居中放置在带圆圈的图标旁边

html - 我如何强制 PouchDB 真正删除记录?

javascript - 为什么 Owl Carousel 一次显示3张图片

c# - 具有登录控制的 asp.net 跟踪 session 中的配置文件变量?

c# - 在 Silverlight 中保留用户首选项

php - 如何退出 PHP 代码块?

html - WordPress 主题开发;无法连接 978 网格系统

c# - 如何在不退出循环的情况下处理异常?

c# - ASP.NET 正则表达式问题

c# - 将字符串转换为正确的 URI 格式?