zoukankan      html  css  js  c++  java
  • CSS几个要点补充

     css的font-size属性一定要带px单位,font-weight:700【千万不要带单位哦】就等于font-weight:bold加粗

    1.如何像淘宝页面一样,随着浏览器的减小而保持内容区大小不变,减少的只是两边的空白区大小呢?

    通过内层div设置margin为0 auto就可以了!

     1         <style type="text/css">
     2             *{
     3                 margin:0;
     4                 padding:0;
     5             }
     6             .wrapper{
     7                 height:30px;
     8                 background-color: #123;
     9             }
    10             .content{
    11                 width: 1200px;
    12                 height: 30px;
    13                 background-color: #0f0;
    14                 margin: 0 auto;/*这里的auto就是自适应的意思,它会随着浏览器框的缩小而减小*/
    15             }
    16         </style>
    17     </head>
    18     <body>
    19          <div class="wrapper">
    20              <div class="content"></div>
    21          </div>
    22     </body>
    View Code

    2.HTML中的元素有三种:inline、inline-block、block

      通常我们称凡是带了inline、inline-block的元素为文本类元素,也就是凡是带有inline的元素【inline、inline-block】都有文本类特点,所以我们称之为文本类元素!

    3.span本来是行级元素,所以我们设置宽和高不好使,如下所示:

     1     <head>
     2         <meta charset="UTF-8">
     3         <title>Insert title here</title>
     4         <style type="text/css">
     5             span{
     6                 width:100px;
     7                 height: 100px;
     8                 background-color: red;
     9             }
    10         </style>
    11     </head>
    12     <body>
    13          <span>123</span>
    14     </body>
    View Code

    效果如下所示:

    如果我们给这个css代码加了:position:absolute或者 float:left/right,那么就会惊奇的看到对span标签设置的宽和高都好使了,如下所示:

     1     <head>
     2         <meta charset="UTF-8">
     3         <title>Insert title here</title>
     4         <style type="text/css">
     5             span{
     6                 width:100px;
     7                 height: 100px;
     8                 background-color: red;
     9                 position: absolute;
    10             }
    11         </style>
    12     </head>
    13     <body>
    14          <span>123</span>
    15     </body>
    View Code

    这是为什么呢?

    这是因为一旦我们设置了position:absolute或者 float:left/right,那么系统本身就会在底层自动将该HTML标签的inline转换为inline-block;所以你会看到,一旦我们设置了position:absolute或者 float:left/right,就可以给该标签设置宽和高了!

     1     <head>
     2         <meta charset="UTF-8">
     3         <title>Insert title here</title>
     4         <style type="text/css">
     5             *{
     6                 margin:0;
     7                 padding:0;    
     8             }
     9             span{
    10                 font-size: 50px;
    11             }
    12         </style>
    13     </head>
    14     <body>
    15          <div>
    16              你们刘哥很帅<span>哈哈</span>
    17          </div>
    18     </body>
    View Code

    你会看到,在一行文本里面,实际上文本是底对齐的!这是文本和文本之间的特点

    如果我现在把文本和图片放在一起呢?

    1     <head>
    2         <meta charset="UTF-8">
    3         <title>Insert title here</title>
    4     </head>
    5     <body>
    6          <img  src="1.png">呵呵
    7     </body>

    效果也是图片和文字是底对齐的!

    同理,如果我将一个行级元素变成一个行级块元素,那么行级块元素和文字也是底对齐的!

     1     <head>
     2         <meta charset="UTF-8">
     3         <title>Insert title here</title>
     4         <style type="text/css">
     5             span{
     6                 display:inline-block;
     7                 width:100px;
     8                 height:100px;
     9                 background-color: red;
    10             }
    11         </style>
    12     </head>
    13     <body>
    14          <span></span>哈哈
    15     </body>
    View Code

    上面也是底对齐的,这也没什么问题!但是如果我现在往span标签里面加点内容,如下:

     1     <head>
     2         <meta charset="UTF-8">
     3         <title>Insert title here</title>
     4         <style type="text/css">
     5             span{
     6                 display:inline-block;
     7                 width:100px;
     8                 height:100px;
     9                 background-color: red;
    10             }
    11         </style>
    12     </head>
    13     <body>
    14          <span>This</span>哈哈
    15     </body>
    View Code

    你会看到,这里文字将不是底对齐了,它是和它里面的文字底对齐了!

    这就是浏览器的另外一个特点:一旦一个行级块元素或者一个文本类元素里面包含文字了,那么外面的文字就会和它们里面的文字底对齐

    如果里面的文字很大的话,依然是和它里面的文字底对齐:

     1     <head>
     2         <meta charset="UTF-8">
     3         <title>Insert title here</title>
     4         <style type="text/css">
     5             span{
     6                 display:inline-block;
     7                 width:100px;
     8                 height:100px;
     9                 background-color: red;
    10                 font-size: 50px;
    11             }
    12         </style>
    13     </head>
    14     <body>
    15          <span>This</span>哈哈
    16     </body>
    View Code

    那这里能不能调整一下对齐线呢,难道非要是底对齐么,当然可以调节,这里有个属性叫:vertical-align,该属性值可以为正数像素【3px】,也可以为负数【-5px】,当然也可以是middle、如下所示:

     1     <head>
     2         <meta charset="UTF-8">
     3         <title>Insert title here</title>
     4         <style type="text/css">
     5             span{
     6                 display:inline-block;
     7                 width:100px;
     8                 height:100px;
     9                 background-color: red;
    10                 font-size: 50px;
    11                 vertical-align: -15px;
    12             }
    13         </style>
    14     </head>
    15     <body>
    16          <span>This</span>哈哈
    17     </body>
    View Code

    4.如何实现像淘宝这样的导航栏,一行文字中的内容一部分靠左,一部分靠右,实际上也很简单,最外层是一个大盒子,里面有两个小盒子,然后一个向左浮动,一个向右浮动就OK了,基本上都是这么实现的,如下所示:

    1     <body>
    2          <div>
    3              <ul style="float: left"></ul>
    4              <ul style="float: right"></ul>
    5          </div>
    6     </body>
    View Code
  • 相关阅读:
    【转】IDEA2019.1.3版本破解
    Docker部署Vue
    Docker使用
    MySql触发器
    JVM 理论基础目录(待更新,系列完全写完后会统一整理好)
    JVM 5 JAVA 垃圾回收机制
    JVM 运行时数据区:程序计数器、Java 虚拟机栈和本地方法栈,方法区、堆以及直接内存
    JVM 整体流程介绍
    JVM 入门指南
    Linux 常用命令(根据自己的理解随时更新)
  • 原文地址:https://www.cnblogs.com/python-machine/p/8010719.html
Copyright © 2011-2022 走看看