HTML+css常用(后续继续补充)

209 阅读8分钟

基础知识汇总

1.定位

静态定位,不能移动的元素,默认就是静态定位
            position: static;
相对定位:1.独占一行,没有脱标。
            2.相对于自己的位置进行移动。
            3.仍然占据自己的位置 
            4.如果上下都给,生效上。如果左右都给,生效左 
            position: relative;
 绝对定位:1,需要配合方位属性进行移动。
          2,已经脱标,不占位置。
           3,默认浏览器的可视区域进行移动。 
            position: absolute;
 固定定位:1,需要配合方位属性进行移动。 
          2,已经脱标,不占位置。
         3,默认浏览器的可视区域进行移动。
            position: fixed;
子绝父相:子元素为绝对定位,父元素为相对定位,绝对定位会往距离最近有定位元素的父盒子移动,一层层的找,如果包裹的盒子都没有定位元素就会往浏览器的可视区域进行移动。

2.浮动加清除浮动

       float: 浮动;(要浮动去那个方向后面就加上那个方向的英文,left, right:左右)
         浮动元素不能通过margin等方法设置水平居中
        浮动不会占用标准流的位置,相当于飘到了半空 
         浮动找浮动,下一个浮动元素会在上一个浮动元素的左右浮动
        浮动可以一行显示多个,可以设置宽高
 单伪元素清除浮动代码,转换为盒子元素才能生效:
        ::after {
            display: block;
            content: "";
            兼容性:清除低端浏览器的影响,隐藏不想给人看的代码 
            height: 0;
            visibility: hidden;
                   }
  双伪消除法 :只能解决外边距塌陷问题,不能解决合并问题
        .clearfix::before,
        .clearfix::after {
            content: "";
            display: table;
        }
 解决浮动的核心代码
        .clearfix::after {
            clear: both;
        }

3.块级元素-行内块元素-行内元素

块级元素:独占一行,可以设置宽高;
行内块元素:一行可以显示多个,可以设置宽高;
行内元素:一行可以显示多个,不可以设置宽高;
之间的转换: display: block,转换为块级元素
       display: inline-block,转换为行内块元素
       display: inline,转换为行内元素

3.背景

 background:背景
 background-position:背景图片位置
  background-color:背景颜色
 background-image: url():背景图
 background-size: 背景尺寸
  background-position: 0 0;精灵图的应用,尺寸为负值
background建议缩写的顺序:颜色 图片 平不平铺 位置:color url("") center bottom。
颜色 图片 平不平铺 水平居中加下: background: red url("1.jpg") no-repeat center bottom;

4.字体系列

  /* 默认生效顺序从左到右,如果都没有就默认非衬线字体sans-serif */
        /* 衬线字体serif */
        /* 等宽字体 */
        p {
            font-family: 微软雅黑;黑体 sans-serif;
        } 
        p {
            /* 混合写法,注意顺序, font:style weight size family; swsf 稍微舒服 */
            font: italic 700 30px 宋体, sans serif;
        }

5.input 系列

 <!-- input > type >后面就是各种属性框 -->
    <!-- text:默认文本,用于输入文本 -->
    文本:<input type="text">
    <!-- password:密码框,用于输入密码,不显示框内内容 -->
    密码:<input type="password">
    <!-- ridio:单选框, -->
    性别:<input type="ridio">
    <!-- checkbox:多选框 -->
    爱好: <input type="checkbox">打球
    <input type="checkbox">熬夜
    <!-- file:用于选择文件 -->

7.按钮系列 inputbutton

  <!-- action:提交数据到哪里 -->
    <!-- form:使包裹的按钮生效,到哪里去 -->
    <!-- form:表单 -->
    <form action="">
        ID:<input type="text" name="1"><br><br>
        账号:<input type="text" name="2"><br><br>
        密码:<input type="passwoid" name="3"><br><br>
        <!-- submit:提交按钮 -->
        <!-- reset:重置按钮 -->
        <input type="submit" value="注册">
        <input type="reset" value="重置">
        <!-- button:学习js后配合js使用 -->
        <!-- button:普通按钮,默认无功能,后面配合js使用 -->
        <input type="button" value="普通">
         <!-- button:和input标签一样的功能,但是button是双标签,多用于包裹文字和图片,
                      谷歌里面button默认为提交按钮 -->
        <button type="submit">提交按钮</button>
        <button type="reset">重置按钮</button>

        <input type="button" value="普通">

8.选择器加权重

 优先级从低到高:         1.继承级:就是子代会继承父代的部分文体属性
                       2.通配符:就是广泛的全选,写法是一个星号 * 就是键盘数字八那里
                       3.标签选择器:就是一个标签的名字,比如div和span之类的
                       4.类标签选择器:就是一个标签里面起一个类名,要英文开头,因为数字开头或者中文都是不                           生效的.写法是class="box"  css里面点.开头
                       5.id选择器:就是给标签起一个id,但是id相当于身份证,类相当于名字,一个标签只能起                               一个id,类可以有很多个,写法是 id="box"css里面点#开头
                       6.行内属性:就是直接在HTML的结构里面书写css的属性,写法                                                   <p style="color: aqua;">1111</p>
                       7.!important,古代钦差大臣谁拿谁最大,除了继承

9.水平居中和垂直居中的方法

   1-水平居中:text-align: center
   2- 让行高等于元素高度,则会出现垂直居中 
            line-height: 400px;
   3-定位走盒子的一半,再负自己尺寸的一半也可以做到水平居中或者垂直居中
   4-垂直居中: margin: 0 auto,原理就是外边框上下是零左右自动对齐

10.各类选择器

后代选择器选中所有后代,儿子,孙子,重孙子 ,写法标签名加空格隔开*/
        div p {
            color: red;
               }
子代选择器选中儿子生效,标签名或者类名加大于号,相当于只选中儿子代,但是如果子代包裹着其他的标签会触发继承
            div>p {
            color: yellow;
                   }
并集选择器:写法就是一个名字占一排后面加逗号直到写完为止(最后一个不用写)
        h1,
        p,
        i {
            color: red;
        }
交集:既得是div  又得是box的类名 
         div.box {
            color: red;
                  } 
如果交集遇到了标签名,标签名一定要在最前面
        div.box#one {
            color: yellow;
                    }<div class="box">1111</div>
                     <p class="box">22222</p>
                      <div class="box" id="one">333</div>(333为黄色)

11.嵌套关系

大部分标签能互相嵌套,但是也有例外,比如a标签不会互相嵌套,p标签不会包裹div,但是a标签能包裹所有标签
ul标签只能包裹li标签,但是li标签可以包裹任何标签

12.继承性

 子代能继承父代的部分文体属性:指的是font里面的颜色和字体大小行高之类的,有些默认值是不能改变的,比如h标签的大小,a标签的颜色

13.内边框

 border: 3px solid yellow:边框四周线粗3像素,实线,黄色
            /* 边框实线 :solid
            /* 点线:dotted */
            /* 虚线:dashed */
            /* border-top: 2px solid red; */
            /* 边框上实线线 */
            border-bottom: 3px solid black;
            /* 边框下实线,边框线粗3像素,黑色 */

14.内外边距

padding:内边距,指盒子边缘往内到内容的距离;
margin:外边距,指盒子与盒子之间的距离;
子盒子的边缘和父盒子紧紧挨着的时候,子盒子移动会带动父盒子移动,这种现象叫外边距塌陷,解决的方法第一种
overflow: hidden;:溢出隐藏,解决塌陷现象
内外边距和border边框线都会撑大盒子,但是加个css3盒子模型就只会往内缩减,就不会撑大盒子了
  box-sizing: border-box:css3盒子模型,自动内减;

15.结构伪类加计算公式和修饰伪类

  选中第一个 
ul li:first-child {
            color: skyblue;
        } 
      选中最后一个
         ul li:last-child {
            color: red;
        } 
并集选择器写法
        ul li:first-child,
        ul li:last-child {
            color: blueviolet;
        } 
 需要选中第几个就在括号输入几
        ul li:nth-child(5) {
            color: yellow;
  计算公式
          0-8 n *2 
         0 2 4 6 8-16 偶数 even 
        ul li:nth-child(2n) {
            color: aqua;
        } 
         0 2 4 6 8-16 +1  奇数 odd 
         1 3 5 7 
        ul li:nth-child(2n+1) {
     color: blue;
修饰伪类:hover;书写方法就是类名或者便签名加:冒号后面写hover;
显示隐藏: display: block;显示
        display: none;隐藏
显示隐藏如果要写在修饰伪类里面要hover后面在写上要变那个的标签

16.伪元素

  伪元素的特点不用在html里面写多余的标签,前后用伪元素就行:before 加在前面的意思  after加在后面的意思
        伪元素是行内标签,必须属性是  content;如果要给伪元素设置宽高就要将它变为块级元素或者行内块元素。
      在盒子的前面加一个玛:
            div::before {
            content: "玛";
            display: inline-block;
            width: 100px;
            height: 100px;
            color: blue;
        }

css的各种小技巧

1.鼠标光标效果

   鼠标光标移入时变成小手:
            cursor: pointer; 
    鼠标光标移入时变成十字: 
            cursor: move;

2.圆角边框加工作的应用场景

圆角赋值一个的时候四个角生效
            border-radius: 100px;
             圆角赋值两个的时候从左上角开始顺时针走一圈,没赋值的角看对角
            border-radius: 50px 100px;
 正方形变圆形切一半宽高就行,最大生效百分之五十 
            border-radius: 50%;
 胶囊型圆切掉宽的一半就行 
            border-radius: 100px;

3.溢出隐藏

溢出隐藏 :
             overflow: hidden; 
             根据内容的多少决定是否显示滚动条 
            overflow: auto; 
            不论内容的多少都显示滚动条 
            overflow: scroll;

4.显示隐藏

                隐藏,但是占位置 
            visibility: hidden;
             彻底隐藏不占位置 
            display: none;

5.透明度

 rgb a 是背景透明 
  opacity:整个标签的透明度,包括里面的内容都能完全透明 
            opacity: 0.2;

6.边框线合并

注意: 一定要加给table标签 : 做细线表格 
            border-collapse: collapse;

7.三角形

 .box {
            /* width: 200px;
            height: 200px; */
            width: 0;
            height: 0;
            /* background-color: skyblue; */
            /* transparent: 透明*/
            border-top: 200px ridge transparent;
            border-left: 200px ridge transparent;
            border-right: 200px ridge transparent;
            border-bottom: 200px ridge olivedrab;
        }
就是给一个正方形盒子四周加上边框线,然后再将盒子的宽高撤掉,然后再一步步将边框线的颜色换成透明单词

8.获得焦点

它还很多用途,比如输入款比较短小,在里面设置宽高,用户输入的时候可以输入款变大变长,还有很多用途自己想需求

focus:获得焦点 
         光标进去获得焦点,光标出来失去焦点 
 写法:       input:focus {
            background-color: skyblue;
        }

9.伪类型,就是鼠标移入点击等生效

hover:鼠标移入时生效,需要生效什么样式自己写

a:hover
{ 
    background-color:yellow;
}

visited: 选择器设置访问过的页面链接的样式 ,需要生效什么样式自己写

a:visited
{
background-color:yellow;
}

active: 选择激活的链接样式 ,需要生效什么样式自己写

a:active
{
background-color:yellow;
}