使用CSS有选择地隐藏信息

时间:2011-05-19 21:16:48

标签: html css

我有一个表格,显示有关客户列表的信息。我想有选择地隐藏不同页面中的某些信息字段。简单地将每个页面定义为不同的ID并使用CSS来控制显示的内容是一种好的做法。或者我应该真正进入控制器和模型来控制它。

例如,每位客户都有3条信息:姓名,电话号码,地址和html,css标记如下:

<style>
 #SomeSpecificPage span.text-phonenumber { display: none }
</style>

<div id="SomeSpecificPage">
 <span class="text-name"><% name %></span>
 <span class="text-phonenumber"><% phone number %></span>
 <span class="text-address"><% address %></span>
</div>

4 个答案:

答案 0 :(得分:1)

这不是问题。许多人将页面ID应用于body元素,但实践类似,并不是顽皮的。

是否要使用带页面ID的CSS来隐藏字段或使用服务器端代码控制输出取决于您。要么没事。

答案 1 :(得分:1)

您可以使用之后:或之前使用CSS3。

这采取了不同的方法,但可能会实现您所追求的目标。这应该至少让它远离网络爬虫,这是我想象的是你想通过隐藏它实现的目标。见小提琴:

.text-name:after{
    content:'contenthere'
}
.text-phonenumber:after{
    content:'phonenumberhere'
}
.text-address:after{
    content:'addresshere'
}

http://jsfiddle.net/CPVeA/

请记住浏览器支持:http://caniuse.com/#feat=css-gencontent

答案 2 :(得分:0)

为了可见性,我喜欢创建一个名为.hidden { display: none; }的类,并将其放在我想要隐藏的元素上。然后你可以使用任何语言来切换那个类。

答案 3 :(得分:0)

这取决于你如何定义“隐藏”...如果一个网络文化的查看器查看你的来源,他们可以看到用css隐藏的一切。那是问题吗?如果没有,那就去吧。它是一个简单有效的解决方案。

另一方面,机密信息是否会让您遇到麻烦?如果是这样,甚至不要让它渲染,如:改变控件。