03前端开发【css结束】

发布时间 2023-10-20 22:55:29作者: 半糖+奶茶

伪元素选择器

'''通过css操作文本内容'''
1.修改首个字体样式
  p:first-letter{
                color: red;
                font-size:48px;
             }

2.在文本开头添加内容
  p:before{
                 content: '哈哈';
                 color:bule;
               }

3.在文本结尾添加内容
  p:after {
               content: '嘿嘿';
               color:yellow;
            }

使用场景
   1.用于后面清除浮动带来的负面影响
   2.用于网站的内容防爬

 选择器优先级

#研究方向
 1.相同选择器
  '就近原则':谁离标签越近就听谁的!
 2.不同选择器
  行内选择器 > id选择器 > 类选择器 > 标签选择器 (根据精确度高低)

选择器总结

CSS选择器是所有选择器的基础
  后期框架提供的/后期爬虫模块提供的
所以CSS选择器一定要好好学  这样后面学习前端框架和爬虫都会轻松不少

 字体样式

#文字字体
  font-family:"Microsoft  Yahei "(微软雅黑)
#字体大小
  font-size: 24px
#字体粗细
  font-weight: lighter\bolder(更浅/更深)
#字体颜色
  方式1:
      color :red;
  方式2:
      color : rgb(128.128.128);
  方式3:
      color:  #4f4f4f;
"""
  获取颜色的方式有很多
      1.截图软件自带取色功能
           微信/qq自带颜色编号   #4f4f4f
      2.pycharm提供的取色器
           左侧颜色块点击即可
"""

 文字属性

#文字对齐
  text-align:center/left/right

#文字装饰(重点)
"""a标签默认带下划线  并且带有颜色(没有点击过是蓝色  点击过是紫色)"""
  text-decoration: none;  主要就是用于去除a标签的下划线
  text-decoration: line-through;  删除线
  text-decoration: overline;   上边线
  text-decoration: underline;   下划线

#首行缩进
  text-index: 32px;  #首行缩进32px(若一个字体是16px,正好这个缩进两格)

"""
  补充:可以使用浏览器做样式的动态调整
           查找到标签的css   然后左键选中  通过方向键上下动态修改数值"""

背景属性

#1.背景颜色
   background-color: red;
#2.背景图片
   background-image:url("111.png");
  """背景图片如果没有设置的区域大  那么默认自动填充满"""
   background-repeat: no-repeat\repeat-x\repeat-y  #是否填充满整个页面   不填充整个页面/横向填充/纵向填充
   background-position: left  top;  # 图片位置   也可以写  center center   就是上下左右都是居中
   background-attachment:  fixed   #背景附着

"""
   如果多个属性名具有相同的前缀  那么可以整合到一起编写(只写一个前缀名即可)
       background:#338899  url("111.png")  no-repeat   left   top
"""

边框

#1.自定义调整每个边的边框
   border-left/top/right/bottom-color: black;   #边框颜色
   border-left/top/right/bottom-width: 5px;    #边框长宽度
   border-left/top/right/bottom-style: solid;    #边框样式

#2.3统一调整每个边的边框
  border: 5px  solid  black;  顺序无所谓  只要给了三个就行

"""
  dotted  点状虚线边框
  doshed   矩形虚线边框
  solid       实线边框  (用的多一些)
"""

#3.画圆
   border-radius: 50%
  如果长宽一样就是圆  不一样就是椭圆(日常生活中头像就是如此)

display属性

"""只有块儿及标签可以设置长宽   行内标签是不可以的(长宽由内部文本决定)"""
  display:inline  让标签具备行内标签的特性(不能设置长度)
  display:block 让标签具备块儿级标签的特性(可以设置长度)
  display: inline-block  使元素同时具有行内元素和块级元素的特点
  display:none   隐藏标签(重点)页面上不会保留位置  也不显示
  visibility:hidde   也是隐藏标签  但是位置会保留

 盒子模型

#所有的标签其实都有一个盒子模型
学习盒子模型可以将标签看成是一个快递盒
"""
 快递盒组成部分                                   盒子模型
    内部物品                                        content(内容)
    内部物品与盒子内部的距离                  padding(内边距/内填充)
    盒子的厚度                                      border(边框)
    盒子与盒子之间的距离                        margin(外边距)

ps:两个标签之间的距离   有时候可以用margin也可以用padding """

#1.body标签默认自带8px的margin值   我们在编写页面之前应该去掉
      margin-left:0;
      margin-top:0;
      margin-right:0;
      margin-bottom:0;

可以四个都调,也可以不用四个参数
"""......................................."""
   margin: 1px  2px  3px 4px     上右下左
   margin: 1px  2px  3px           上  左右  下
   margin:1px  1px                  上下  左右
   margin:1px                         统一设置一个值


#2.padding用法与margin一致
  同上

盒子模型页面布局
   标签的只能水平居中  可以使用固定搭配
     margin: 0  auto;(上下0,左右auto)

浮动(重要)

#1.浮动的作用
  float: left/right
"""
   浮动是所有网站页面布局必备的  可以将块儿级标签浮动起来脱离正常的文档流
    是多个块级标签可以在一行显示(全部飘在了空中)"""
#2.浮动的影响
   浮动会造成父级标签塌陷(类似于将口袋的东西拿到了口袋的外面,口袋瘪掉了)

  补充说明:
      浮动元素有时候会遮挡住底下的区域  
      如果有文本内容,那么浏览器会遵循文本内容优先展示的原则  会想方设法的让文本展示出来

 解决浮动造成的影响

clear:left;  规定元素的那一侧不允许其他浮动元素
推导流程
   1.直接写div然后写对应的长宽
   2.写div然后添加clear属性  避免去查找长宽
   3.万能公式(固定搭配 记住就可以)
   .clearfix:after{
                    content: ' ';
                    clear:both;
                    display:block;
             }

"""
   以后写网页 提前写好上面的代码
   然后那个标签塌陷了就给谁添加上clearfix类名即可

   很多前端页面框架使用的也是clearfix类名
"""