0
点赞
收藏
分享

微信扫一扫

CSS3+HTML5

以沫的窝 2022-03-30 阅读 58
css3html

Chapter 1 CSS、HTML基础知识

浏览器属性前缀问题

-webkitwebkit核心浏览器 Chrome、Safari
-mozFirefox
-msIE
-o

Opera

 eg:

.transform{
  -webkit-transform:rotate(-3deg);  //带有Chrome、Safari浏览器属性
  -moz-transform:rotate(-3deg);     //带有Firefox浏览器属性
  -ms-transform:rotate(-3deg);      //带有IE浏览器属性
  -o-transform:rotate(-3deg);       //带有Opera浏览器属性
  //标准属性放在最后书写
  transform:rotate(-3deg);          //标准属性
}

float浮动

none默认值,不浮动
inherit继承父元素的float值(不建议使用,IE不支持)
left向页面左侧浮动
right向页面右侧浮动

1、对于块级元素来说,如果不设置浮动其默认的宽度是100%。此时设置浮动则其宽度随文字长度变化。

2、默认情况下父元素高度会随着子元素内容进行调整,但是将子元素设置为浮动后,父元素高度为0。

子元素无浮动container大小为513*374

 

子元素浮动container大小为513*0

 3、浮动的元素脱离了文档流,但元素中的内容依旧占据空间。


clear清除浮动

left

左侧不允许出现浮动元素
right右侧不允许出现浮动元素
both清除两侧浮动中对自己影响最大的那一侧浮动

1、在需要的地方添加clear:both标签。

2、对父元素使用:after伪类。

<body>
    <div class="div1 clearfix">
        <div class="left">Left</div>
        <div class="right">Right</div>
    </div>
    <style>
       .clearfix:after{
           content: "020";
           display: block;
           height: 0;       /*此时clearfix的高度为0*/
           clear: both;     /*清除父元素clearfix的浮动,clearfix的高度不为0了*/
       }
       .clearfix{
           zoom: 1;
       }
       .left{
           float: left;
       }
       .right{
           float: right;
       }
    </style>
</body>

position定位

static默认值

relative

相对位置
absolute

绝对位置

fixed
inherit继承父元素的定位属性

1、relative和static都是相对于其他元素进行定位的,都属于相对定位的范畴。

2、如果使用static默认值,则在CSS中为元素定义top、left、right、bottom、z-index都无效。也就是说想要设值元素的top、left、right、bottom、z-index值必须用position属性(static除外)。

3、absolute是相对于上一个不为static的父元素进行绝对定位的,否则将相对html进行绝对定位。

3、absolute和fixed时,未定义宽度的元素不再是100%,根据内容自动调整;不定义z-index时,absolute元素会覆盖在其他元素之上;会脱离正常的文档流,不占据空间,类似于浮动后的效果。

<body>
    <div class="container">
        <div class="absolute">绝对定位</div>
    </div>
    <style>
      .container{
          margin: auto;
          width: 960px;
          height: 300px;
          position: relative;       /*如果没有这句 则子元素是按照整个html进行定位*/
      }

      .absolute{
          position: absolute;
          top: 0;
          left: 0;

      }
    </style>
</body>
父元素无position时

 

父元素position为relative时

 4、fixed是相对于浏览器窗口的定位,即无论页面如何滚动,该元素始终停留在屏幕上某个位置。

Chapter 2 选择器

选择器包括基础选择器和伪类选择器。

基础选择器:标签选择器、类选择器(class选择器)、id选择器、通配符选择器、子元素选择器、后代元素选择器、相邻元素选择器、属性选择器、组选择器、复合选择器。

伪类选择器:结构化伪类、目标伪类(target)、状态伪类、否定伪类(not(S))。

  • 标签选择器:定义全局样式。
<body>
    <h1>AAAAAAAAAAAAAAAAAAAAAAAAAAAAA</h1>
    <h2>BBBBBBBBBBBBBBBBBBBBBBBBBBBBB</h2>
    <h3>CCCCCCCCCCCCCCCCCCCCCCCCCCCCC</h3>
    <h4>DDDDDDDDDDDDDDDDDDDDDDDDDDDDD</h4>
    <h5>EEEEEEEEEEEEEEEEEEEEEEEEEEEEE</h5>
    <h6>啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊</h6>
    <style>
      h1,h2,h3,h4,h5,h6{
          margin: 10px 0;
          font-family: inherit;
          font-weight: bold;
          line-height: 20px;
          color: blueviolet;
          text-rendering: optimizeLegibility;
      }
      h1,h2,h3{
          line-height: 40px;
      }
      h1{font-size: 38.5px;}
      h2{font-size: 31.5px;}
      h3{font-size: 24.5px;}
      h4{font-size: 17.5px;}
      h5{font-size: 14px;}
      h6{font-size: 11.5px;}
    </style>
</body>

 

  • 类选择器(class选择器)

语法: 在class名称前加 . 符号

类选择器是最灵活、应用最广泛的选择器。

  • id选择器

语法:在id名称前面加 # 符号

一个HTML元素只能对应一个id,故灵活性不如class选择器。

id选择器拥有最高的权重,可以用于覆盖之前的一些定义。

和后台数据对应,从而配合JavaScript进行一些逻辑操作。

  • 通配符选择器

通配符是指用一个符号代替某些字符。语法关键词是 。该选择器以 * 开始,可以与任意元素匹配。

通配符选择器的权重最低,只要求其他的定义,通配符选择器的定义就会被覆盖。

  • 子元素选择器

用于严格的父子关系。语法为 > 符号

<body>
    <li><a href="#">www.baidu.com</a></li>
    <li><div><a href="#">www.baidu.com</a></div></li>
    <style>
      li>a{
          color: yellowgreen;
      }
    </style>
</body>

 

 

  • 后代元素选择器

后代选择器类似于子元素选择器,要求没有那么严格,只要是父元素的后代元素即可。

语法关键词是空格。

<body>
    <li><a href="#">www.baidu.com</a></li>
    <li><div><a href="#">www.baidu.com</a></div></li>
    <style>
      li a{
          color: yellowgreen;
      }
    </style>
</body>

 

  • 相邻元素选择器

用于选取和某个元素相邻的同级元素。要求二者必须拥有同一个父元素且二者相邻。

语法关键词为 + 符号。

 

  • 属性选择器

  • 组选择器

  • 复合选择器

举报

相关推荐

HTML5+CSS3-HTML5入门

HTML5+CSS3

Html5+CSS3复习

HTML5+CSS3(二)

html5 + css3(下)

HTML5CSS3提高导读

HTML5和CSS3

0 条评论