博客列表 >伪类 :target,:not, ::before, ::after 的使用

伪类 :target,:not, ::before, ::after 的使用

小区智能化
小区智能化原创
2020年06月21日 06:09:001059浏览

1. :target 必须与id配合,实现锚点操作

一个简单的登陆界面:

除了登陆按钮,还要有登陆时需要填写的信息,比如邮箱和密码,那么,要实现登陆前不显示邮箱和密码,点击“登陆”按钮才显示出邮箱和密码框,就需要填加下面两项:

这样,点击后就会出现如下界面:

如果不用 a 标签,用button,也可以实现a href的功能,把原来的
<a href="#login-form">我要登陆</a>,改成

<button onclick="location='#login-form'">我要登陆</button>
其余不变。
:focus 当获取焦点的时候
在我上面所做的登陆界面中,如果要实现在输入邮箱和密码的时候,有背景色:

<style>

  1. #login-form {
  2. display: none;
  3. }
  4. #login-form:target {
  5. display: block;
  6. }
  7. input:focus {
  8. background-color: burlywood;
  9. }
  10. </style>

</head>
<body>
<button onclick="location='#login-form'">点击登陆</button>
<form action="" method="post" id="login-form">
<label for="email">邮箱</label>
<input type="email" name="email" id="email" />
<label for="password">密码</label>
<input type="password" name="password" id="password" />
<button>登陆</button>
</form>
</body>
::selection
要把填进邮箱和密码设置前景色和背景色:

<style>

  1. #login-form {
  2. display: none;
  3. }
  4. #login-form:target {
  5. display: block;
  6. }
  7. input:focus {
  8. background-color: greenyellow;
  9. }
  10. input::selection {
  11. color: white;
  12. background-color: blue;
  13. }
  14. </style>

</head>
<body>
<button onclick="location='#login-form'">点击登陆</button>
<form action="" method="post" id="login-form">
<label for="email">邮箱</label>
<input type="email" name="email" id="email" />
<label for="password">密码</label>
<input type="password" name="password" id="password" />
<button>登陆</button>
</form>
</body>

:not()用于选择不满足条件的元素

做一个列表:

<body>
<ul class="list">
<li>item1</li>
<li>item2</li>
<li>item3</li>
<li>item4</li>
</ul>
</body>

将列表的前三个颜色设为红色

" class="reference-link">

::before

在我之前创建的列表前面加一个“购物车”:
<style>
.list::before {
content: “购物车”;
}
</style>
<body>
<ul class="list">
<li>item1</li>
<li>item2</li>
<li>item3</li>
<li>item4</li>
</ul>
</body>
</head>
</html>
这里面用到的::before, 就是在浏览器原有的伪元素之中创建的文本“购物车”,这个就是伪元素。

::after

在我之前创建的“购物车”下方添加一个“结算”

<style>
.list::before {
content: “购物车”;
color: blue;
font-size: 1.5rem;
border-bottom: 1px solid #000;
}
/ ::after /
.list::after {
content: “结算”;
color: red;
font-size: 1.1rem;
}
</style>
<body>
<ul class="list">
<li>item1</li>
<li>item2</li>
<li>item3</li>
<li>item4</li>
</ul>
</body>

注意:伪类前面都是单冒号(:),伪元素前面都是双冒号“::”。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议