CSS伪类的一些用法以及visibility:hidden和display:none的一些区别

简介:

 CSS伪类有比较实用的用处,可以使程序员少些一些js,而实现特定的效果。

w3cschool中,伪类有如下的几种:
:active  向被激活的元素添加样式。
:focus  向拥有键盘输入焦点的元素添加样式。 
:hover 当鼠标悬浮在元素上方时,向元素添加样式。 
:link 向未被访问的链接添加样式。
:visited 向已被访问的链接添加样式。
:first-child 向元素的第一个子元素添加样式。
:lang 向带有指定 lang 属性的元素添加样式。
 
本文说一下focus伪类,因为比较实用。
比如某些场合,需要对文本框输入时,背景色变色。用jquery固然可以写。通过onfocus事件绑定特定的执行代码。
此时用focus伪类则效率高了很多,也不需要写额外的JS代码。特别对于动态生成的表单,也不需要使用jquery的live方法了。注意,使用伪类的时候,务必把DOCTYPE写完整,不然会不起作用。
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <title></title>
    <script src="http://code.jquery.com/jquery-1.7.2.min.js" type="text/javascript"></script>
    <style type="text/css">
        .testclass
        {
            border: 1px solid black;
            width: 50px;
        }
        
        .testclass:focus
        {
            background-color: red;
        }
    </style>
    <script type="text/javascript">
        $(function () {
            $("#btn").click(function () {
                $("body").append("<input class=\"testclass\" type=\"text\" />");
            })
        });
    </script>
</head>
<body>
    <input id="btn" type="button" value="add textbox" />
    <input class="testclass" type="text" />
</body>
</html>
visibility: hidden和display: none的区别在于,隐藏后,是否还占着位子。
visibility隐藏后,只是视觉上消失了,留出的空间还是以空白的形式占用了。
display,隐藏后,就好像真的消失了。
看下面的例子。消失后,文字的位置。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <title></title>
    <script src="http://code.jquery.com/jquery-1.7.2.min.js" type="text/javascript"></script>
    <style type="text/css">
        .use_visibility
        {
            visibility: hidden;
        }
        .use_diplay
        {
            display: none;
        }
    </style>
    <script type="text/javascript">
        $(function () {
            $("#btn_use_visibility").click(function () {
                $("#txt_use_visibility").toggleClass("use_visibility");
            });
            $("#btn_use_diplay").click(function () {
                $("#txt_use_diplay").toggleClass("use_diplay");
            });
        });
    </script>
</head>
<body>
    <input id="btn_use_visibility" type="button" value="use_visibility" />
    <input id="btn_use_diplay" type="button" value="use_diplay" /><br/>
    <input id="txt_use_visibility" type="text" />文字
    <br/>
    <input id="txt_use_diplay" type="text" />文字
</body>
</html>












 ,如需转载请自行联系原作者



相关文章
|
12天前
|
前端开发
常见 CSS 选择器用法
常见 CSS 选择器用法
19 1
|
17天前
|
前端开发 Ruby
CSS 预编语言的区别
【10月更文挑战第24天】Sass、Less 和 Stylus 等 CSS 预编语言在语法特点、功能特性、性能表现、社区和生态系统等方面存在着不同之处。在选择使用哪种预编语言时,需要综合考虑项目需求、团队技术偏好、个人习惯等因素。你可以根据具体情况进行评估和选择,以充分发挥这些语言的优势,提高前端开发的效率和质量。
|
17天前
|
前端开发 开发者 UED
设备像素、css像素、设备独立像素、dpr、ppi之间的区别
【10月更文挑战第24天】在实际应用中,这些概念相互关联,共同影响着网页在不同设备上的显示表现。开发者需要了解它们之间的区别和关系,以便更好地进行网页设计和优化,确保在各种设备上都能提供良好的用户体验。
|
19天前
|
前端开发 JavaScript UED
深入理解与应用 CSS 伪类选择器
【10月更文挑战第23天】通过以上对 CSS 伪类选择器的深入探讨,我们可以更好地理解和应用它们,为网页设计和开发带来更丰富、更灵活的样式效果。同时,要注意在实际应用中根据具体情况合理选择和使用伪类选择器,以达到最佳的设计效果和用户体验。
29 2
CSS3 新增伪类有那些
CSS3 引入了多种新伪类,增强了样式控制的灵活性。新增的结构伪类如 `:nth-child(n)` 和 `:first-of-type` 可以根据元素的位置和类型进行选择;状态伪类如 `:enabled` 和 `:checked` 则根据元素的状态进行选择;动态伪类如 `:hover` 和 `:active` 则基于用户的交互行为。这些伪类让样式定制更加多样和强大。
WK
|
2月前
|
存储 移动开发 前端开发
HTML5和CSS5有什么区别
HTML5和CSS5在网页设计中扮演不同角色。HTML5是超文本标记语言的第五版,通过新特性如实时更新、跨平台运行及更好的安全性等,定义网页内容和结构。尽管常说CSS5,实际最新的CSS版本包含多个模块如CSS Grid和Flexbox,主要用于控制网页布局和样式,提供强大的选择器、动画支持和响应式设计,与HTML5相辅相成,共同构建现代网页的基础架构。
WK
47 3
|
1月前
|
前端开发
运用CSS伪类与属性,巧妙实现背景图片旋转效果
运用CSS伪类与属性,巧妙实现背景图片旋转效果
27 0
|
1月前
|
前端开发 JavaScript
css的引入方式和区别
css的引入方式和区别
34 0
|
3月前
|
前端开发
CSS中的层级选择器&伪类选择器和伪元素选择器
CSS中的层级选择器&伪类选择器和伪元素选择器
|
3月前
|
前端开发
css中px和em的区别
css中px和em的区别
60 0

热门文章

最新文章