python-css基础知识

时间:2021-10-11 14:50:14

CSS 是指层叠样式表 (Cascading Style Sheets),样式定义如何显示html,用于对页面进行美化。

css样式的存放位置有三种:

  • 第一种,直接写在html标签里:
     <div style="background-color: #5bc0de;height: 20px;width: 50px">div</div>  #属性之间用;分隔
  • 第二种,在html的head里面设置全局样式,body的标签里引用。可以写在管理-设置-定制css代码中
    <head>
    <style> #head里面定义样式
    .testcss{ #以点开头
    background-color: pink;
    font-size: 20px;
    }
    </style>
    </head>
    <body>
    <div class="testcss">testcss div</div> #标签里引用testcss样式
    </body>
  • 第三种,链接方式,写在一个css文件里,引用该文件
    • css文件 newcss.css
      .abc{
      color:red;
      font-size: 20px;
      }
    • html文件

      <head>
      <link rel="stylesheet" href="newcss.css"> #链接引用css文件
      </head>
      <body>
      <div class="abc">link abc css div</div>
      </body>

css选择器

1. 标签选择器

给某一类标签定义某种样式,该类标签都会使用这种样式

<head>
<style>
h1{ #给h1标签定义的样式
color: red;
font-size: 30px;
}
div{ #给div标签定义的样式
color:green;
font-size: 20px;
}
input[type="text"]{ #input的text属性加样式
color: palevioletred;
width: 300px;
}
</style>

2. class选择器

在style里面定义一个.cssname{css样式}    在标签里用class="cssname"来引用

<head>
<style>
.testcss
{
background-color: pink;
font-size: 20px;
}
#在body里的标签里使用
<div class="testcss">testcss div</div>

3. id选择器

定义一个#idname样式,在标签里用id="idname"来使用这个标签

    <style>
#i1{
color: deepskyblue;
font-size: 40px;
}
#标签里面使用
<span id="i1">i1 span</span>

4. 层级选择器

标签里嵌套着标签,对嵌套的标签加样式。下一级用空格表示

style{
div span {
color: yellow;
font-size: 30px;
}
}
#标签里面应用
<div>
<span>div span</span> #用到了样式
</div>
<div>div</div> #无变化

5. 组合选择器

多个选择器,用同一个样式,用逗号分隔

        div,p,.c1,#id1 {
color: red;
font-size: 30px;
}
#标签里应用
<div>div</div>
<p>p</p>
<span class="c1">span</span>
<div id="id1">div</div>

注意:如果同时有多个选择器,那么浏览器是根据权值来判断使用哪种css样式的,权值高的就使用哪种css样式。

标签选择器的权值为1,class选择符的权值为10,ID选择符的权值最高为100。

   <style>
div{color: red;}
.c1{color: blue;}
应用:
<div class="c1">div</div>
#显示是蓝色,因为div标签的权重小于class的权重

常用的css样式

font 字体设置
<div style="font-family: 微软雅黑;font-size: 18px;font-weight: bolder;font-style: italic;">字体设置</div>
#字体 #字体大小 #加粗 #斜体

background  背景设置

背景颜色

<span style="background-color: yellow;">span</span>  #背景颜色

设置背景颜色为黄颜色span

背景图片

    <div style="background-image: url(1.png);  #背景图片
height: 100px;
background-repeat: no-repeat; # 不重复平铺,repeat-x沿着x轴平铺,repeat-y沿y轴平铺
background-position: right;"> #top,bottom,right,center等
</div>

背景-简写属性

    background: #00FF00 url(bgimage.gif) no-repeat fixed top;

顺序是:

  • background-color
  • background-image
  • background-repeat
  • background-attachment
  • background-position

 border 边框 

    <div style="border: 5px dotted red">   #宽度  #实线虚线(dotted,solid)#边框颜色
border边框 div
</div>
border边框 div

display   块级标签和行内标签互相转换

 inline 转换成行内标签     

  block 转换成块级标签

  none 不显示

    <div style="background-color: hotpink;display: inline;">div</div>
<span style="background-color: grey;display: block">span</span>
div

span

cursor  鼠标移到上面显示的标识

    <span style="cursor: pointer">pointer</span>&nbsp;
<span style="cursor: wait;">wait</span>&nbsp;
<span style="cursor: move">move</span>&nbsp;
<span style="cursor: text">text</span>&nbsp;
<span style="cursor: help;">help</span>&nbsp;

移动鼠标试试:        pointer   wait   move   text   help

float  浮动

   浮动的原本作用是为了实现文字环绕效果。

如果定义两个div放在一起,那么默认是上下两行摆放。要想两个标签放一行里  需要在两个div标签里加上float

   <div>
<div style="background-color: hotpink;float: left;width: 20%">div1</div> #向左浮动,宽度20%(相对于父标签div而言)
<div style="background-color: yellow;float: left;">div2</div> #向左浮动
<div style="background-color: deepskyblue;float: right;width: 10%">div3</div> #向右浮动
</div>
div1
div2
div3

一旦子类标签都用到float,那么父类标签不会被子类里的撑起来,如下,虽然在父类里设置了背景色,但是并没有用到子类中空白部分

    <div style="background-color: palegreen;width: 500px">
<div style="background-color: hotpink;float: left;width: 20%">div1</div>
<div style="background-color: yellow;float: left;">div2</div>
<div style="background-color: deepskyblue;float: right;width: 10%">div3</div>
</div>
div1
div2
div3

清除浮动: 在底部使用cleara:both 方法,使父类标签里的样式显示出来

    <div style="background-color: palegreen;width: 500px">
<div style="background-color: hotpink;float: left;width: 20%">div1</div>
<div style="background-color: yellow;float: left;">div2</div>
<div style="background-color: deepskyblue;float: right;width: 10%">div3</div>
<div style="clear: both"></div>
</div>

python-css基础知识

position   

  fixed  固定在浏览器窗口某个地方,不会随着滚动条移动。

    <div style="position: fixed;right: 10px; bottom:10px; color: red">返回顶部</div>
#固定 #距离窗口右边10px 距离底部10px #字体颜色
fixed固定

举个栗子:常见的“返回顶部”。首先在博客设置里定义css样式如下:

#back-to-top {
position: fixed;
right: 10px;
bottom: 10px;
background-color: green;
}

#back-to-top

然后在标签里使用该样式,加一个超链接

<span id="back-to-top"><a href="#top">fixed返回顶部</a></span>

fixed返回顶部

 

absolute  绝对位置,只一次固定在窗口的一个位置,滚动条拉走,就看不到了。把页面拖到最上方看左上角->

绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>

    <div style="position: absolute;left: 0;bottom: 50%;color: purple;">absolute</div> 
absolute

 relative  相对位置, 相对定位元素的定位是相对其正常位置。relative本身不产生效果,跟absolute搭配使用才有效果。

absolute本来是针对整个窗口的,但是如果想只针对某一个div固定,那么可以在父标签加一个relative使用:

    <div style="position: relative;background-color: yellow;height: 100px;width: 100px">  #父标签用relative
<div style="position: absolute;color:blue;right: 0;bottom: 0;">absolute</div> #里层用absolute,位置相对于父标签
</div>
absolute

 opacity   

                透明度。 opacity的值在0-1之间。值越小越透明。0完全透明

 z-index  

                  指定元素的堆叠顺序。值越大的在越上层

<div style="position: relative;background-color: green;width: 200px;height: 100px;">
<div style="position: absolute;background-color: blue;top:0;right: 0;bottom: 10px;left: 0;z-index: 2;opacity: 0.4;"></div>
<div style="position: absolute;background-color: black;top:0;right: 0;bottom: 0;left: 0;color: red;z-index: 1">看不见我看不见我</div>
#这两个div。z-index越大的就会越靠上面一层。所以蓝色那层在黑色上面。黑色那一层的字会被盖住。设置opacity之后,蓝色变透明。透过蓝色能看到后面一层的字
</div>
看不见我看不见我

css盒模型    mbpc

Margin(外边距) :清除边框外的区域,外边距是透明的。
Border(边框)  :围绕在元素(内容)和内边距外的边框。
Padding(内边距) :清除内容周围的区域,内边距是透明的。
Content(内容)   :即element框,实际内容。

python-css基础知识

 margin 外边距

    <div style="border: 2px solid black;height: 70px;width: 150px">
<div style="background-color: pink;height: 50px;width: 130px; margin-top: 30px;margin-left: 20px"></div> #在div外面加边距
</div>

padding  内边距

    <div style="border: 2px solid black;height: 70px;width: 150px">
<div style="background-color: green;height: 50px;width: 130px;padding-top: 20px"></div>
</div>