CSS基础知识梳理

CSS 指层叠样式表 (Cascading Style Sheets)

CSS的书写位置:
1、行内式  style="color: red; height: 100px;",多个属性之间使用分号隔开(不推荐使用)

2、内嵌式 可以放在任意位置,但是一般是放在头标签head 中,同样使用分号隔开

3、外链式 把CSS样式单独写入一个文件中,通过link引入,通常在head中
CSS 语法
选择器 {
    属性名:属性值;
    属性名:属性值;
    属性名:属性值;
    .....
}
选择器:找到对应的标签元素;
{} :找到对应的标签元素对其更改指定的样式;属性名都是定义好的;
标签选择器
没有特殊,对应的标签都会添加样式进去
id 选择器(#)
因为ID是不能重复的,所以样式只能作用在一个标签上;
类选择器(.)
 作用在同一组类上面
 如果一个标签有多个类,给class赋值时使用空格隔开,多个类的样式都可以作用进来
伪类选择器
  link:默认
  hover:鼠标悬浮在标签上面,没有点击
  active:鼠标点击尚未松手
  visited; 已经访问过的
文字相关属性
字体颜色, 字体大小 字体样式
color:设置文字颜色
    1,直接写颜色对应的英文单词
    2,十六进制,RGB red green blue 常用
    3,rgb表示 rgb(255, 100, 100); 取值是0-255
    4,rgba color: rgba(0, 255, 0, 0.2) 第四个取值表示透明度,0-1 0就是完全透明
font-*:
    font-size:设置字体大小
    font-weight:设置文字粗体
        normal 默认的
        bold 粗体
        bolder 更粗一些
    font-family:设置字体类型 黑体 宋体
text-*
    text-align:控制文字的位置
        center居中
        left:左边
        right:右边
    text-indent:设置文字缩进
        取值有像素 px
        em 一个em就是一个文字大小
    text-decoration:
        underline设置下划线
        line-through 删除线
        none:取消任何线
line-*
    line-height 设置行高
        取值有像素 和数字 (文字大小的倍数)
        text-align设置的是文字水平居中,如果需要垂直水平居中,当行高和父级容器高度相等时才是垂直居中 (常用)
        设置行高可以让标签变大;顶线、中线、基线、底线 基线与基线的距离
标签的渲染模式
根据标签的渲染不同:

块级元素(标签) block
h1-h6, ul ol li div p     header footer section aside article nav
特点:宽高生效;默认宽度是父级的宽度;独占一行;

行内块标签 inline-block
表单元素 input select button
img
特点:宽高生效;允许其他的行内块标签或者行内元素和它同行,	并不会继承父级宽度

行内元素 inline
span a em strong b del i ins u 文本
特点:宽高无效;允许其他的行内块标签或者行内元素和它同行
渲染模式的更改
根据标签的渲染模式的更改:
display(可以展示和隐藏标签):
inline-block:转换为行内块
block:转为块级元素
inline:转为行内元素
块级元素内容居中问题:
1,行内标签
       text-align: center;
       line-height: 300px;和块级元素的高相等
2,行内块标签
       text-align: center;水平居中有效
       line-height: 300px;和 vertical-align: middle;搭配才能垂直居中,因为默认居中是基线居中
3,块级元素
       转为行内块元素,
       同上设置一样
背景图片的设置:
        background-image: url(img/kkx.jpg); url 中是图片地址
        background-repeat:平铺效果
            repeat默认设置 平铺
            repeat-x 水平平铺
            repeat-y 垂直平铺
            no-repeat 不平铺
       background-position 图片的显示位置
             background-position: 600px 300px; 第一位是X抽起始位置,第二位是Y抽的起始位置
       background-attachment 背景图片是否滚动
             fixed 固定
             scroll滚动 默认值
       background-size 背景图片大小
            cover 填充
            contain:容纳,
复合选择器
	交集选择器
        选择器1选择器2选择器3 {
            属性名:属性值;
            属性名:属性值;
        }
        特点:中间没有任何空格 全部满足选择器要求 样式才会生效
    并集选择器
        选择器1,选择器2,选择器3{
            属性名:属性值;
            属性名:属性值;
        }
        特点:样式可以作用在 c1,c2,c3上
    后代选择器
        选择器1 选择器2 选择器3 {
            属性名:属性值;
            属性名:属性值;
        }
        特点: 选择器中间有个空格;只要是后代就会生效
    子代选择器
        选择器1>选择器2{
            属性名:属性值;
            属性名:属性值;
        }
        特点:必须是儿子才会起作用,隔代就不起作用
CSS 特性
    继承性
        继承父亲的;文字相关的都可以继承;块级元素的高度是不能继承的;块级元素的宽度是可以继承的
    层叠性
        优先级相同的情况下,CSS样式会从上往下执行,下面的属性会覆盖上面的属性;
    优先级
        继承的属性<通配符选择器<标签选择器<类选择器<id选择器<行内样式<!important
盒子模型
CSS 盒子模型是用于布局的
 三大属性:
     边框 border
     内边距padding 填充
     外边距 margin
     
四边设置相同的效果
       border-color: orange;
       border-width: 10px;
       border-style: solid;
           solid:实线
           dashed:虚线
           dotted:点线
       简写如下:bd+ tab键
       border: 12px solid pink;
       三个属性同时设置才会生效
四边分别设置:
       border-方位词 top/left/right/bottom
细节点:
   border可以让盒子变大,宽和高会变大
CSS 盒子边框圆角的设置
border-radius
    1个值:四角的弧度都一样
    2个值:第一个值是左上右下的弧度,第二个值是右上左下的弧度;对角线的设置
    3个值:第一个值是左上 第二个值是右上左下 第三个值右下
    4个值:顺时针进行设置弧度 从左上开始顺时针方向
取值:
    像素:px
    百分比:50%是圆 宽和高一样的前提下 设置 50%是个圆形
盒子内边距
padding(填充)
   四边设置相同的内边距
       1个值:就是上下左右的内边距
       2个值:上下 左右
       3个值:上 左右 下
       4个值:上 右 下 左
   特点:内边距会撑大盒子,让盒子变大;

   四边单独设置:
       padding-方位词 top/left/right/bottom
   细节点:
       padding内边距会撑大盒子
       内边距不会被继承
       在不设置高度的情况下,内边距可以让文字垂直居中
盒子外边距
margin
四边设置相同的外边距
    1个值:就是上下左右的外边距
    2个值:上下 左右
    3个值:上 左右 下
    4个值:上 右 下 左
分开设置
    margin-方位词(top/right/left/bottom)
细节点:
    margin 外边距不会撑大盒子
    margin: 0 auto; 表示水平方向居中  0是上下的间距

设置外边距注意点

  • 父子盒子间,让子移动父亲大小不变;给父亲设置 overflow: hidden; 子 margin: 50px;
  • 上下盒子的问题,如果上盒子设置了下边距,下盒子设置了上边距;边距取得是两者中的最大值
  • 通常是先使用通配符把内外边距清除

代码演示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style>
        *{
            padding: 0px;
            margin: 0px;
        }
        #d1{
            width: 300px;
            height: 300px;
            background-color: #C0BCFF;
            overflow: hidden;
        }
        #d2{
            width: 100px;
            height: 100px;
            background-color: yellowgreen;
            margin: 50px;
        }
    </style>
</head>
<body>

<div id="d1">
    <div id="d2"></div>
</div>

</body>
</html>

浏览器效果:
在这里插入图片描述

显示隐藏问题
display:
none 隐藏起来,但是不占位置 下面的元素会上位

visibility
hidden 隐藏 但是占位置 下面的元素上不去
visible 显示
伪元素

伪元素不是真正的元素,有行内元素的特性
支持模式的转换

语法:
    选择器::before/after {
        属性名:属性值;
        属性名:属性值;
    }

代码演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #d1::before{
            content: "白日依山尽";
            color: #C0BCFF;
            display: block;
        }
        #d1::after{
            content: "欲穷千里目";
            color: blue;
            display: block;
        }
    </style>
</head>
<body>

<span id="d1">黄河入海流</span>

</body>
</html>

效果:
在这里插入图片描述

浮动
float: 设置浮动之后就脱离的之前的文档流的排列,但是浮动不会覆盖文字内容,可以做到图文并排
    left:左浮动
    right 右浮动

用途:让多个盒子并排显示
  图文并排
  盒子一左一右显示
定位
 position
 static默认值,按标签的特性排列
 relative:相对与当前位置 一般和偏移量使用;相对位置是占位置的,下面的元素不会上去
     偏移量
         top
         left
         right
         bottom
 absolute 也是和偏移量一起使用;不占位置和浮动特性是一样的
 fixed 固定在浏览器的某个位置 不动 不占位置 也可以和偏移量一起使用
list-style-type
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        ul{
            /*去除自带小黑点*/
            list-style-type: none;
        }
        ol{
            /*去除自带序号*/
            list-style-type: none;
        }
    </style>
</head>
<body>
<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
</ul>
<ol>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
</ol>
</body>
</html>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值