博主信息
博文 18
粉丝 0
评论 0
访问量 24541
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
选择器,宽度分离,box-sizing,同级塌陷, 嵌套传递与自动挤压
葛佬的博客
原创
775人浏览过

1、相邻选择器与兄弟选择器

    相邻选择器(Adjacent sibling selector)可选择紧接在一个元素后的元素,且二者具有相同的父亲元素。相邻选择器使用了加号(+)。

实例

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>相邻兄弟选择器</title>
    <style type="text/css">
        h1+p{
            color:red;
        }
    </style>
  </head>
 
  <body>
    <p>Hello word!</p>
    <p>Hello word!</p>
    <h1>Hello word!</h1>
    <p>Hello word!</p>
    <p>Hello word!</p>
    <p>Hello word!</p>
    <p>Hello word!</p>
  </body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

    兄弟选择器(brother selector)可选择紧接在某一个指定元素的后面的所有兄弟结点,且都具有相同的父亲元素。兄弟选择器使用了波浪号(~)。

实例

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>兄弟选择器</title>
    <style type="text/css">
        h1~p{
            color:red;
        }
    </style>
  </head>
 
  <body>
    <p>Hello word!</p>
    <p>Hello word!</p>
    <h1>Hello word!</h1>
    <p>Hello word!</p>
    <p>Hello word!</p>
    <p>Hello word!</p>
    <p>Hello word!</p>
  </body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

2、:nth-child() 和 :nth-of-type()选择器

    :nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型。

实例

<!DOCTYPE html>
<html>
  <head>
    <style> 
      p:nth-child(2)
      {
        background:#ff0000;
      }
    </style>
  </head>
  <body>
    <h1>这是标题</h1>
    <p>第一个段落。</p>
    <p>第二个段落。</p>
    <p>第三个段落。</p>
    <p>第四个段落。</p>
    <p>第五个段落。</p>
  </body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

    :nth-of-type(n) 选择器匹配属于父元素的特定类型的第 N 个子元素的每个元素。

 

实例

<!DOCTYPE html>
<html>
  <head>
    <style> 
      p:nth-of-type(2)
      {
        background:#ff0000;
      }
    </style>
  </head>
  <body>
    <h1>这是标题</h1>
    <p>第一个段落。</p>
    <p>第二个段落。</p>
    <p>第三个段落。</p>
    <p>第四个段落。</p>
    <p>第五个段落。</p>
  </body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

3、padding 对盒子大小的影响与解决方案


实例

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <style type="text/css">
      body,html{
	width: 100%;
	height: 100%;
      }
      #main{
	width: 80%;
	height: auto;
	background: darkgray;
      }
      .one{
	width: 60px;
	padding: 20px;
	border: 1px solid black;
	background: cornflowerblue;
      }
      .father{
	width: 102px;
      }
      .son{
	padding: 20px;
	border: 1px solid black;
	background: yellow;
      }
    </style>
  </head>
  <body>
    <div id="main">
	<div class="one">宽度还未分离</div><br />
	<div class="father">
	  <div class="son">宽度分离原则</div>
	</div>
    </div>
  </body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

4、同级塌陷, 嵌套传递与自动挤压

 嵌套传递在使用中不好控制显示位置,所以最好少用。

自动挤压可以用来实现居中显示。

同级塌陷可以理解为当有2个div上下相邻排列。2个同时设置了相邻位置的边距时,只会有其中一个相对大的数值生效。此现象可以称为同级塌陷。

实例

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="static/css/style3.css">
    <title>外边距的三个特征</title>
    <style type="text/css">
      .box1 {
        width: 200px;
        height: 200px;
        background-color: blue;
      }

      .box2 {
        width:200px;
        height:200px;
        background-color: red;
      }

      .box1 {
        margin-bottom: 30px;
      }

      .box2 {
        margin-top: 60px;
      }

      .box3 {
        width: 200px;
        height: 200px;
        background-color: blue;
      }

      .box4 {
        width:100px;
        height:100px;
        background-color: red;
      }
      .box4 {
        margin-top: 0;
      }
      .box3 {
        padding-top: 50px;
        height: 150px;
      }

      .box5 {
        width: 200px;
        height: 200px;
        background-color: blue;
      }
      .box {
        margin: auto;
      }

      .box6 {
        width:200px;
        height:200px;
        background-color: red;
      }
      .box5 {
        margin: auto;
      }
      .box6 {
        margin: 50px auto;
      }
    </style>
  </head>
  <body>
    <h3>同级塌陷</h3>
    <div class="box1"></div>
    <div class="box2"></div>

    <h3>嵌套传递</h3>
    <div class="box3">
      <div class="box4"></div>
    </div>

    <h3>自动挤压</h3>
    <div class="box5"></div>
    <div class="box6"></div>
  </body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

 

批改状态:合格

老师批语:写得很不错哟
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学