2016-04-27 32 views
0

我想将Bootstrap中的text-center类应用于我表中的所有td单元。但我不要想为此做所有40 td s:<td class="text-center"></td>如何在css文件中添加一个现有的类到td中?

显然这是行不通的;

#mytable td { 
    text-center; //class already exists 
} 

那么,如何在一个CSS文件将此类我td S'

+0

我的理解是否正确,您是否不想手动将'class =“text-center”'写入所有'td'? –

+1

@AlexanderLomia是的,我认为这就是他的意思。 –

+0

[在Twitter Bootstrap中对表格中的文本进行居中可能的重复](http://stackoverflow.com/questions/11678298/centering-text-in-a-table-in-twitter-bootstrap) –

回答

0

是的,但不是纯粹的CSS

可以在LESS做到这一点,是这样的:

#mytable td { 
    .text-center; 
} 

或者你也可以使用jQuery类添加到您当前的TD元素

$('#mytable td').addClass('text-center'); 
0

如果你不希望添加手写课,你可以写一个脚本,如

JavaScript

var tdList = document.querySelectorAll('#mytable td'); 
[].forEach.call(tdList, function(el){ 
    el.classList.add('text-center'); 
}); 

的jQuery:

$('#mytable td').addClass('text-center'); 

如果不是这样,就可以实现通过添加CSS类似如下效果:

#mytable td { 
    text-align: center; 
} 

另外,如果你使用智能文本编辑器,如升华或支持多个游标的括号中,您可以简单地使用鼠标选择所有<td>,并且只写一次class="text-center"。例如在括号中,您可以通过按住Ctrl并单击要添加光标的位置来完成此操作。

如果安装像emmet一个扩展,你可以简单地写

#mytable>td.text-center*40 

,然后按Ctrl键+ Alt键输入,可以生成整个标记。真的,如果你懒惰打字......他们有很多方法。

+0

为什么我没有想到在我的答案中使用'document.querySelectorAll('#mytable td')'。做得很好。 –

+0

我假设JavaScript代码是ES6。正确? –

+0

@DaBest不...没有ES6 ... –

0

因为我认为你使用的是纯CSS,所以最简单的解决方案可能只是将代码复制到样式表中,除非违反许可证。如果您使用的是预处理器(如SASS),则可以使用@extend .text-center功能,这是我强烈建议的。¨

另一种解决方案是使用JavaScript,但这不完全可靠。

2

如果我正确地理解了你的问题,你不希望将所需的类逐个写入所有的td。相反,你可以随时使用搜索和编辑器(CTRL + [R在PHPstorm在这种情况下)的替换功能:

enter image description here

使用其他方法,如JS或额外的CSS会最多不必要地浪费资源,最糟糕的情况是会在代码中引入混淆。

0

要在CSS中做到这一点,你可以这样做:

#tableId td { 
    text-align: center; 
} 

,如果你不介意将居中文本到所有细胞(包括<th/>)您可以将text-center类在html:

<table class="table text-center"> 
    ... 
<table> 
相关问题