前端——CSS

CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素。

css 为 层叠  样式  表 (3个部分);

当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染)。

CSS的作用就是为了1.解决重复的样式;2.使文档的内容和样式解耦;

 

引入CSS有3种方法:

1.直接在标签里面写<div style="样式1;样式2">

2.在head中通过style标签定义;

3.把样式单独写在css文件中,然后在html文件中的head中通过link标签来导入;

 

CSS语法:

选择器 {样式1; 样式2}

 

 CSS查找标签的方式(查找标签都是往下查找)(选择器)

选择器可分为

1.基本的选择器:

  1.标签选择器; 适用于  批量的\统一的\默认的样式;

  2.ID选择器 (# ) ; 适用于  给特定标签设置特定的样式;

  3.类(.); 适用于 给某一些标签设置相同的样式;

2.通用选择器(*) ;  通用的一些样式;

3.组合选择器

  1.后代选择器(h1  a)中间用空格;

  2.儿子选择器(h1>a)中间用>;

  3.毗邻选择器(h1+a)中间用+, /*选择所有紧挨着(同一级的)<h1>元素之后的<a>元素*/

  4.弟弟选择器(h1~a)中间用~, h1 后面 所有的 兄弟 a 标签;

 4.属性选择器([])

  /*用于选取带有指定属性的元素。*/

  p[title] {

    color: red;}

  /*用于选取带有指定属性和值的元素。*/

  p[title="213"] {

    color: green;}

分组和嵌套属性

  1.分组:当多个元素的样式相同的时候,我们没有必要重复地为每个元素都设置样式,我们可以通过在多个选择器之间使用逗号分隔的分组选择器来统一设置元素样式。 

比如div和P标签的样式相同即可用分组——> div,p{样式}

  2.嵌套:多种选择器可以混合起来使用(.c1 p{样式})c1类内部的所有的P标签;

 

当同一个元素有多个选择器的时候,就必须要考虑选择器的优先级

选择器的优先级

1.内联样式(直接在标签里面写style) 优先级最高

2.在选择器相同的情况下,越靠近标签的优先级越高(就近原则)

3.按照权重的大小,权重 越大 优先级越高;

权重的计算1. 内联样式1000   2. ID选择器100   3. 类选择器10    4. 元素选择器1

 

伪类选择器,重点是 hover:

 

/* 未访问的链接 */
a:link {
  color: #FF0000
}

/* 已访问的链接 */
a:visited {
  color: #00FF00
} 

/* 鼠标移动到链接上 */
a:hover {
  color: #FF00FF
} 

/* 选定的链接 */ 
a:active {
  color: #0000FF
}

/*input输入框获取焦点时样式*/
input:focus {
  outline: none;
  background-color: #eee;
}

 

 

伪元素选择器(应用于清除浮动):

first-letter(常用的给首字母设置特殊的样式)

p:first-letter {
  font-size: 48px;
  color: red;
}

 

before 在每一个元素之前插入内容

p:before {
  content:"*";
  color:red;
}

  

after 在每一个元素之后插入内容(多应用于清除浮动)

/*在每个<p>元素之后插入内容*/
p:after {
  content:"[?]";
  color:blue;
} 

  

 

 

CSS属性相关

1.字体属性

  1.font-family(文本字体)

  font-family可以把多个字体名称作为一个“回退”系统来保存。如果浏览器不支持第一个字体,则会尝试下一个。浏览器会使用它可识别的第一个值。

*{
    font-family:".PingFang SC","微软雅黑","Microsoft YaHei",sans-serif;
}

  2.font-szie(字体大小)

*{
    font-size: 20px;
}

  3.font-weigth(子重(粗细))

描述
normal默认值,标准粗细
bold粗体
bolder更粗
lighter更细
100~900设置具体粗细,400等同于normal,而700等同于bold
inherit继承父元素字体的粗细值

 

  4.color(文本颜色)

  文本颜色有3中表示的方法:

  1.color : red (颜色的名称)

  2.RGB;RGB(255,0,255);rgba(255,0,255,0.3) 第4个值为背景颜色的透明度(0-1)

  3.十六进制值-如: FF0000(红色)

 

2.文本属性

  1.text-align(文字对齐的方式)

描述
left左边对齐 默认值
right右对齐
center居中对齐
justify两端对齐

  2.text-decoration(文字装饰)(用来 去除 链接的 下划线:text-decoration: none )

描述
none默认。定义标准的文本。
underline定义文本下的一条线。
overline定义文本上的一条线。
line-through定义穿过文本下的一条线。
inherit继承父元素的text-decoration属性的值。

  3.首行缩进(text-indent)

p {
  text-indent: 32px;
}

 

3.背景属性

/*背景颜色*/
background-color: red;
/*背景图片*/
background-image: url('1.jpg');
/*
 背景重复
 repeat(默认):背景图片平铺排满整个网页
 repeat-x:背景图片只在水平方向上平铺
 repeat-y:背景图片只在垂直方向上平铺
 no-repeat:背景图片不平铺
*/
background-repeat: no-repeat; 
/*背景位置*/
background-position: right top;
/*background-position: 200px 200px;*/

 

简写为:

background: red url('1.png') no-repeat right top;

使用背景图片的一个常见案例就是很多网站会把很多小图标放在一张图片上,然后根据位置去显示小图片。减少频繁的图片请求.

  

有一个图片不会随着鼠标的移动而移动,是固定住的。鼠标滚动背景不动

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>背景不动效果示例</title>
    <style>
        .c1 {
            height: 500px;
            background: red;

        }
        .c2 {
            height: 500px;
            background: url("http://t2.hddhhn.com/uploads/tu/201607/252/1.png") no-repeat center;
            background-attachment: fixed;  /*把背景图固定*/
        }

        .c3 {
            height: 500px;
            background-color: green;
        }
    </style>
</head>
<body>


<div class="c1"></div>
<div class="c2"></div>
<div class="c3"></div>
</body>
</html>

  

 

3.边框  

#i1 {
  border: 2px solid red;
}

  

边框的样式:

描述
none无边框。
dotted点状虚线边框。
dashed矩形虚线边框。
solid实线边框。

 

border-radius:50%,用这个属性能实现圆角边框的效果:

将border-radius设置为长或高的一半即可得到一个圆形

例子:实现圆形的头像:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>圆形头像的示例</title>
    <style>
    /*设置圆形的图片的样式*/
.blog-photo{
    height: 150px;
    width: 150px;
    border: 2px solid white;
    /*将border-radius设置为长或高的一半即可得到一个圆形。*/
    border-radius: 50%;
    overflow: hidden;
    /*左右为 auto(自动就盒子就居中)*/
    margin: 10px auto;

}
/* 图片的比例,要和盒子一样大小 */
.blog-photo>img{
    max-width: 100%;
}
</style>
</head>
<body>
<!--左边框开始-->
<div class="nav-left">
    <!--头像的图片-->
    <div class="blog-photo">
        <img src="https://pic.cnblogs.com/avatar/867021/20151227142243.png" alt="">
    </div>
</div>
</body>
</html>

  

4.display属性

display:用于控制HTML元素的显示效果。

display:"none":不让标签显示,并且不占位。

display:"inline":让标签变成 内联标签(按照内容的大小来占位)
display:"block":让标签变成 块级标签( 菜单里面的a标签可以设置成block )

display:"inline-block":使元素同时具有行内元素和块级元素的特点。

 


5. CSS盒子模型

1. content (内容)
2. padding (内填充) 调整内容边框之间距离时使用这个属性

补充padding的常用简写方式:

  • 提供一个,用于四边;
  • 提供两个,第一个用于上-下,第二个用于左-右;
  • 提供四个参数值,将按上-右-下-左的顺序作用于四边;

  
3. border (边框)
4. margin (外边距) 多用于调整调整标签之间的距离 (注意两个挨着的标签margin取最大值)

margin的顺序:(4个值)上右下左 ; (2个值) 上下  和  左右
margin常见居中:

.mycenter {
  margin: 0 auto;
}

  

注意: 要习惯看浏览器console窗口那个盒子模型

 


6. float(浮动)
1. 多用于实现布局效果
  1. 顶部的导航条
  2. 页面左右分栏 (博客页面:左边20%,右边80%)
2. float
  1. 任何标签都可以浮动,浮动之后都会变成块级 ; a标签float之后就可以设置高和宽
3. float取值:
  1. left
  2. right
  3. none

7. clear 清除浮动--> 清除  浮动的副作用(内容飞出,父标签撑不起来)
1. 结合伪元素来实现
  .clearfix:after { #这个after是在本标签的内容后面加的
  content: "",
  display: "block",
  clear: both;
  }
来保证导航栏能撑起来;
2. clear取值:
  1. left
  2. right
  3. both

8. overflow
1. 标签的内容放不下(溢出)


2. 取值:
  1. hidden --> 隐藏
  2. scroll --> 出现滚动条
  3. auto
  4. scroll-x
  5. scroll-y

 

9. 定位 position
1. static(默认)

2. relative(相对定位 --> 相当于原来的位置)

3. absolute(绝对定位 -->相当对于定位过的前辈标签)

4. fixed (固定 --> 返回顶部按钮示例)

重要:
补充:
脱离文档流( 内容跑出去了)的3种方式
  float
  absolute
  fixed

10. opacity (不透明度)
1. 取值0~1
2. 和rgba()的区别:
1. opacity改变元素\子元素的透明度效果
2. rgba()只改变背景颜色的透明度效果

11. z-index
1. 数值越大,越靠近你,也就是越显现出来。
2. 只能作用于定位过的元素

应当于 自定义的模态框示例(弹框)

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="x-ua-compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>自定义模态框</title>
  <style>
    .cover {
      background-color: rgba(0,0,0,0.65);
      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 998;
    }

    .modal {
      background-color: white;
      position: fixed;
      width: 600px;
      height: 400px;
      left: 50%;
      top: 50%;
      margin: -200px 0 0 -300px;
      z-index: 1000;
    }
  </style>
</head>
<body>

<div class="cover"></div>
<div class="modal"></div>
</body>
</html>

  

 

转载于:https://www.cnblogs.com/zenghui-python/p/10632447.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 目标检测的定义 目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。 目标检测任务可分为两个关键的子任务,目标定位和目标分类。首先检测图像中目标的位置(目标定位),然后给出每个目标的具体类别(目标分类)。输出结果是一个边界框(称为Bounding-box,一般形式为(x1,y1,x2,y2),表示框的左上角坐标和右下角坐标),一个置信度分数(Confidence Score),表示边界框中是否包含检测对象的概率和各个类别的概率(首先得到类别概率,经过Softmax可得到类别标签)。 1.1 Two stage方法 目前主流的基于深度学习的目标检测算法主要分为两类:Two stage和One stage。Two stage方法将目标检测过程分为两个阶段。第一个阶段是 Region Proposal 生成阶段,主要用于生成潜在的目标候选框(Bounding-box proposals)。这个阶段通常使用卷积神经网络(CNN)从输入图像中提取特征,然后通过一些技巧(如选择性搜索)来生成候选框。第二个阶段是分类和位置精修阶段,将第一个阶段生成的候选框输入到另一个 CNN 中进行分类,并根据分类结果对候选框的位置进行微调。Two stage 方法的优点是准确度较高,缺点是速度相对较慢。 常见Tow stage目标检测算法有:R-CNN系列、SPPNet等。 1.2 One stage方法 One stage方法直接利用模型提取特征值,并利用这些特征值进行目标的分类和定位,不需要生成Region Proposal。这种方法的优点是速度快,因为省略了Region Proposal生成的过程。One stage方法的缺点是准确度相对较低,因为它没有对潜在的目标进行预先筛选。 常见的One stage目标检测算法有:YOLO系列、SSD系列和RetinaNet等。 2 常见名词解释 2.1 NMS(Non-Maximum Suppression) 目标检测模型一般会给出目标的多个预测边界框,对成百上千的预测边界框都进行调整肯定是不可行的,需要对这些结果先进行一个大体的挑选。NMS称为非极大值抑制,作用是从众多预测边界框中挑选出最具代表性的结果,这样可以加快算法效率,其主要流程如下: 设定一个置信度分数阈值,将置信度分数小于阈值的直接过滤掉 将剩下框的置信度分数从大到小排序,选中值最大的框 遍历其余的框,如果和当前框的重叠面积(IOU)大于设定的阈值(一般为0.7),就将框删除(超过设定阈值,认为两个框的里面的物体属于同一个类别) 从未处理的框中继续选一个置信度分数最大的,重复上述过程,直至所有框处理完毕 2.2 IoU(Intersection over Union) 定义了两个边界框的重叠度,当预测边界框和真实边界框差异很小时,或重叠度很大时,表示模型产生的预测边界框很准确。边界框A、B的IOU计算公式为: 2.3 mAP(mean Average Precision) mAP即均值平均精度,是评估目标检测模型效果的最重要指标,这个值介于0到1之间,且越大越好。mAP是AP(Average Precision)的平均值,那么首先需要了解AP的概念。想要了解AP的概念,还要首先了解目标检测中Precision和Recall的概念。 首先我们设置置信度阈值(Confidence Threshold)和IoU阈值(一般设置为0.5,也会衡量0.75以及0.9的mAP值): 当一个预测边界框被认为是True Positive(TP)时,需要同时满足下面三个条件: Confidence Score > Confidence Threshold 预测类别匹配真实值(Ground truth)的类别 预测边界框的IoU大于设定的IoU阈值 不满足条件2或条件3,则认为是False Positive(FP)。当对应同一个真值有多个预测结果时,只有最高置信度分数的预测结果被认为是True Positive,其余被认为是False Positive。 Precision和Recall的概念如下图所示: Precision表示TP与预测边界框数量的比值 Recall表示TP与真实边界框数量的比值 改变不同的置信度阈值,可以获得多组Precision和Recall,Recall放X轴,Precision放Y轴,可以画出一个Precision-Recall曲线,简称P-R
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值