CSS

CSS

 

CSS Cascading Style Sheet 层叠级联样式表,美化网页,含字体、颜色、边距、高度、宽度、背景图片、浮动、定位

CSS

从版本1.0开始,到目前已经是3.0

CSS1.0 只能化一些基本的页面

CSS2.0 DIV(块)+CSS 提出了HTML与CSS结构分离的思想

CSS2.1 浮动 定位

CSS3.0 圆角 阴影 动画... 浏览器兼容性~

1.用法

html css 分离

三种导入方法

内部样式

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


<!-- <style> 规范
语法:
选择器{
声明;
}
编写css的代码-->

<!--   内容样式分离 link链接到css-->
   <link rel="stylesheet" href="style.css">
</head>
<body>
<h1>我是标题</h1>
<p>xxxx大学</p>
</body>
</html>

行内样式

<h1 style="color: red"></h1>

外部样式(常用)

在css中链接

1 连接式   <link rel="stylesheet" href="css/style.css">
2 导入式 <style>@import url("css/sytle.css") </style>
区别:
连接式是html标签,导入式是2.1引入的新功能,作为css样式功能,必须放在 <style></style>中
**同一个元素,在行内样式、内部样式表、外部样式表 都有描述,那么就会采用就近原则,谁离元素最近就使用谁**

2.选择器

标签选择器

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

 <style>
 /*
标签选择器,选择页面所有元素
*/
   h1{
   color: red;
   background: #123145;
   border-radius: 25px;
  }
   p{
   font-size: 30px;
  }
 </style>

</head>

<body>

<h1>合肥工业大学</h1>
<h1>安徽大学</h1>
<h1>合肥工业大学</h1>
<p>中国科学大学</p>

</body>
</html>

类选择器

标签内定义class 使用.class的名称进行选择 可以多标签复用

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>Title</title>
<!-- 类选择器格式 .class的名称{}
好处,可以多个标签同类,可以复用,同一个class可以被多个标签复用-->
 <style>
  .合肥工业大学{
   color: red;
  }
.工业大学{
   color: green;
  }
 </style>

</head>
<body>
<h1 class="合肥工业大学"> niub</h1>
<h1 class="合肥大学"> niub</h1>
<h1 class="工业大学"> niub</h1>

</body>
</html>

id选择器

标签内使用id名称定义 使用#id的名称进行选择 全局唯一不能重复使用

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>Title</title>
<!-- #id 名称 {}   :id必须保证全局唯一,不能重复-->
 <style>
   #demo1{
           color: antiquewhite;
      }
       #demo2{
           color: brown;
      }
 </style>
</head>
<body>
<h1 id="qinjiang" class="qinjiang">学JAVA</h1>
<h1 class="kuangshen">学JAVA</h1>
<p id="demo1">听狂神说</p>
<p id="demo2">听狂神说</p>
<p id="demo3">听狂神说</p>
<p  id="demo4">听狂神说</p>
</body>
</html>

层次选择器

后代选择器

h1 strong所有的后代全部选中

<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
h1 > strong {color:red;}
</style>
</head>

<body>
<h1>This is <strong>very</strong> <strong>very</strong> important.</h1>
<h1>This is <em>really <strong>very</strong></em> important.</h1>
</body>
</html>

子元素选择器

h1 >strong 只选择 包含有h1 strong 的第一个元素第一行

 

相邻兄弟选择器

li+li{}选择li li的相邻下面元素

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style type="text/css">
      li +li {color:red;}
  </style>
</head>
<body>
<ul><li>List item 1</li>
  <li><em>List 1-4</em> <strong>List 2-1</strong> <strong>List 2-1</strong></li>
  <li><em>List 1-4</em> <strong>List 2-1</strong> <strong>List 2-1</strong></li>
  <li><em>List 1-4</em> <strong>List 2-1</strong></li>
  <li><em>List 1-4</em></li>
</ul>

<ul><li>List item 1</li>
  <li><em>List 1-4</em> <strong>List 2-1</strong> <strong>List 2-1</strong></li>
  <li><em>List 1-4</em> <strong>List 2-1</strong> <strong>List 2-1</strong></li>
  <li><em>List 1-4</em> <strong>List 2-1</strong></li>
  <li><em>List 1-4</em></li>
</ul>
</body>
</html>

结构伪类选择器

ul li:first-child/last-child 是选择第一个或者最后一个

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>Title</title>
<!--   : 就是伪类
-->
 <style>
   /*ul的第一个子元素 */
   ul li:first-child{
   background: green;
  }
   /*ul的最后一个子元素 */
   ul li:last-child{
   background: red
  }
 </style>
</head>
<body>
<ul>
<li>li1</li>
<li>li2</li>
<li>li3</li>
<li>li4</li>
</ul>
</body>
</html>

属性选择器

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>Title</title>
 <style>
   .demo a{

   float: left;
   display: block;
   height: 50px;
  }

/*存在id属性的元素 a[id]{}
*=包含有
^=以什么开头的名称选择
$=以什么结尾的名称选择
*/
a[id]{
 background: #0093E9;
}
a[href *=http]{

 background: #d78dff;
}
a[href^=a]{
 background: #c7051b;
}
a[href$=com]{
 background: aliceblue;
}

 </style>

</head>
<body>

<p class="demo">
 <a href="https://www.baidu.com" class="links item first" >1</a>
 <a href="a" class="links item first">2</a>
 <a href="b" class="links item " id="sad">3</a>
 <a href="https://www.bai.com" class="links item first">1</a>
 <a href="abb" class="links item first">2</a>
</p>

</body>
</html>

3.美化网页

span标签

重点要突出的字,一般使用span标签套住

字体样式

> 颜色 :

方法一:color: red;

方法二:RGB color: #0000ff; 前面两位是 R,red, 中间是G green 最后两位是Blue 蓝色;

方法三: color: rgba(200,10,232,0.9); 前面是 R,red, 中间是G green 接着是 是Blue 蓝色 最后是A,透明度 0~1之间;

> 对齐方式: 居中 居左,居右 text-align: center;

> 首行缩进: text-indent: 2em; 2em代表两个字母

> 行高: 行高 height line-height,如果行高等于块高,单行文字上下居中,那这个时候文章就会居中

> 装饰: 下划线 text-decoration: underline; text-decoration: line-through; 中划线text-decoration: overline;下划线

> 文字图片居中:vertical-align: middle;

超链接伪类

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>Title</title>
   <!--下划线消除-->

   <style>
       a{
           text-decoration:none;
           color:#000000;
      }
       /*鼠标悬浮的颜色*/
       a:hover{
           color:red;
      }
       /*鼠标点击的颜色*/
       a:active{
           color:yellow;
      }
        /*text-shadow 阴影颜色 水平偏移 垂直偏移 阴影半径*/
       #price {

           text-shadow: #0093E9 10px -10px 10px;
      }

   </style>
</head>
<body>
<p>
   <a href="">码出高校</a>
</p>
<p id="price">
  价格:99
</p>
</body>
</html>

4.盒子模型使用

margin: 外边距

border: 边框 属性含 粗细 样式 颜色

padding:内边距

外边距妙用 居中 margin:0 auto 但首先外围要是一个快元素,并且块元素要有一个固定的宽度

圆角边框:border-radius: 50px 50px 0px 0px;

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

   <style>

       img,div{width:500px;
           height:500px;
           border: 2px solid white;
           /*圆角边框 顺时针旋转,分别是 左上 右上 右下 左下*/
           border-radius: 250px 250px 250px 250px;
           /*阴影 水平阴影的位置,垂直阴影的位置 模糊的距离 阴影的颜色*/
           box-shadow:1px 1px 200px gold;
      }

   </style>
</head>
<body>


<div>

   <img src="../resources/images/12.jpeg" alt="">

</div>
</body>
</html>

5.浮动定位

块级元素 独占一行 h1-h6 p div li ....

行内元素 不独占一行 span a img storg

行内元素可以被包含在块级元素中,但是块级元素不能被包含在行内元素中

Display & Float

display: inline-block; 是块元素,但是可以内联在一行 display: block; 块元素 display: inline; 行内元素 display: none; 不可见

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

   <style>
   div{
       width: 100px;
       height: 100px;
       border: 1px solid red;
       display: inline-block;
  }
   span {

       width: 100px;
       height: 100px;
       border: 1px solid red;
       display: inline-grid;
  }
   </style>
</head>
<body>
<div>div 块内元素 独占一行</div>
<span>span 行内元素 不独占一行</span>

</body>
</html>

父级边框塌陷

解决父级元素塌陷的办法

1.增加父级元素的高度 优点是简单,但是如果有了固定的高度,就会被限制

2. 在父级元素下面增加一个<div class='clear'></div> 清除浮动 .class{clear:both; margin:0; padding:0}    优点是简单,缺点是在Html中生成一个空div
3. overflow   overflow:scorall ,但是一些下拉的一些场景应该避免使用

在父级元素 中增加overflow:hidden,这样就可以清除父级边框塌陷

4. 在父类上增加一个伪类,大家比较认可的,避免方法二添加一个空div的解决方案

#father:after{

content:''l

display:block

clear:both

}

6.定位

相对定位

position:relative

相当于原来的位置,进行指定的偏移,相对定位的话,它仍然在标准文档流中,原来的位置会被保留

position:relative

top:-20px

left:20px

bottom:-10px

right:20px

绝对定位

基于xxx定位,上下左右

position:absolute

right:30px

left:20px

说明

1.没有父级元素定位的前提下,绝对定位是相对于浏览器的绝对定位

2.假设父级元素存在定位,我们通常会相对于父级元素进行偏移定位,我们在实际开发都是相对于父级元素

3.在父级元素范围内进行定位

相对于父级或者浏览器的位置进行指定的偏移,绝对定位后,他不在文档标准流中,原来的位置不会保留

固定定位

position:fixed 固定定位

z-index

最低为0,最高不限制 图层的概念

opacity: 0-1 设置透明度

 

上一篇:Node-Red Tcp控件使用


下一篇:Less