JAVA中CSS知识点总结

一、CSS的Function:

   使用CSS定义样式,各元素使用统一的样式声明,同时提高了样式的可重用性和可维护性。

   如果使用HTML标记中的属性来定义样式,各元素对于样式的属性定义各不相同。

二,What is CSS?

   CSS:(Cascading Style Sheets)层叠样式表,又称为级联样式表,简称样式表。

          用于HTML文档中元素的样式定义。实现了将内容和表现分离,提供代码的可重用性和可维护性。

三、使用CSS样式表

  由多个样式规则组成,每个样式规则有两个部分:选择器和样式声明,有三种方式分别为:内联方式、内部样式表、外部样式表。


(1)内联方式使用CSS

     直接写在元素上的样式。(属性与属性值之间用:连接,多对属性之间用;隔开)

<body>

<h1 style="background-color:sliver;color:red;">CSS可以美化页面</h1>

</body>

(2)内部样式表

 在head下面的style标签里写的样式。

在<style>元素中添加样式的规则:

1.可以定义多个样式规则。

2.每个样式规则有两个部分组成:选择器(决定哪些元素使用这些规则)和样式声明(一对大括号,包含一个或者多个属性/值对)。如下代码所示,其中h2为选择器,color:blue;为样式声明。

<head>
<meta charset="UTF-8">
<title>CSS的用法</title>
<style>
    h2 {
       color:blue;
    }
</style>

</head>

(3)外部样式表

第一步:创建一个单独的样式表文件用来保存样式规则(一个纯文本文件,文件后缀为.css,给文件中只能包含样式规则,样式规则由选择器和样式声明组成)

如下代码所示为.css文件中的内容

/*里面写注释内容*/

p {
color:yellow;
}

第二步:在需要使用该样式表文件的页面上,使用<link>元素链接需要的外部样式表文件。(在文档的<head>元素内添加<link>元素)如下所示:

<head>

<link rel="stylesheet" href="a.css"/>

 
</head> 

四、样式表特征

1.继承性:大多数的CSS样式规则都可以被继承,子元素可以继承父元素的一些样式(只能继承字体和颜色)

2.层叠性:多次给某元素设置样式,若样式不重复则效果叠加。

3.优先级:多次给每个元素设置样式,若样式重复了,则以后者为准,叫做就近原则。


五、CSS选择器

1、元素选择器:html文档的元素就是选择器,比如<p>、<h1>等。

如: p {

       color:blue;

}

2、类选择器:选择class相同的元素。(首先声明一个class元素,然后用.className{}进行选择即可)如下所示,选择器前面加.

<h1 class="female">老师</h1>

.female {
        color:pink;
    }

3、id选择器:根据ID选择唯一的元素。(首先在文档中的某个元素上添加id值,然后通过#选择器进行选择即可)如下所示,选择器前面加上#

<p id="p4">瞧你</p>

#p4 {
       color:red;
    }

4、选择器组:写出多个选择器,之间互相用逗号相隔开,浏览器会选中每个选择器所对应目标的并集。

用以上的2 、3选择器进行演示内容如下:

.female,#p4 {
             font-family:
             "微软雅黑","文泉驿正黑","黑体";
    }

5、派生选择器分为:(依据元素在其位置上的关系来定义样式)

<div id="d1">
                    北京市<u>海淀区<b>北三环</b>西路</u>甲18号<b>中鼎</b>大厦B8
   </div>

 5.1后代选择器:选择满足条件的子孙
    #d1 b {
        color:red;
    }

 5.2 子元素选择器:选择满足条件的儿子
    #d1>b {
         font-size:30px;
    }

ps:派生选择器的优先级最高。

6、伪选择器:选择特定状态下的元素,使用冒号(:)作为结合符,结合符左边是其他选择器,右边是伪类。

常用的伪类有:(:link)、(:active)、(:visited)、(:hover)、(:focus)

(1)link:选择未访问过的超链接

a:link {
        color:red;
    }

(2)visited:选择访问过的超链接
    a:visited {
        color:green;
    }

(3)active:选择激活态(正在点)的元素
    #b1:active {
       background-color:red;
    }

(4)focus:选择有焦点(光标在闪烁)的元素
    #t1:focus {
         background-color:yellow;
    }

(5)hover:选择鼠标悬停的元素
    img:hover {
        width:250px;
        height:250px;
    }

六、尺寸与框模型

1、样式单位:%百分比、in英寸、cm厘米、mm毫米、pt磅、px像素(计算机上屏幕上的一个点)、em(1em等于当前的字体尺寸,2em等于当前字体尺寸的两倍)、RGB(X,X,X)、RGB(X%,X%,X%)、#rrggbb(十六进制数)、#rgb(简写的十六进制数)

2、边框:

(1)单边设置border:border-left:宽度 形状 颜色;      left/right/top/bottom 

h1 {
    border-left:10px solid blue;
  }

(2)四边设置border:border:宽度 形状 颜色;

h1 {

   /*dashed设置边框为虚线*/

     border:1px dashed red;

     width:300px;

     height:200px;

  }

(3)/*内容溢出时的处理*/
   p {
      overflow:auto;
   }

3、框模型(box model)

定义了元素框处理元素的内容、内边距(内容区域的尺寸不会改变,但会影响元素框的总尺寸)、边框和外边距的方式。


(1)单边设置边距(left/right/top/bottom)
   #d4 {
      padding-left:20px;
      padding-top:40px;
      margin-bottom:20px;
   }

(2)设置四条边相同的框

#d2 {
      padding:20px;
      margin:30px;
   }

(3)四条边设置不同的边距(固定的顺序为:上右下左,顺时针)
   #d3 {
      padding:10px 20px 30px 40px;
      margin:40px 30px 20px 10px;   
   }

(4)对边设置边距(上下  左右)
   #d5 {
      padding:20px 40dx;
      margin:40px 20px;
   }

(5)对边设置的特殊用法:
  当使用这种方式设置margin时,若左右的值为auto,则该元素会水平居中。
   #d6 {
      margin:30px auto
   }

七、背景

1、设置背景图:background-image

默认是none,表示背景上没有放置任何照片,如果需要设置一个背景图片,需要用起始字母url附带一个图像的URL值。

2.背景重复:background-repeat

默认情况下,背景图像在水平和垂直方向上重复出现,创建一种称为“墙纸的效果”

repeat:在水平和垂直方向上重复。repeat-x:仅在水平方向上重复,repeat-y:仅在垂直方向上重复,no-repeat:只出现一次。

3.背景定位:background-position(改变图像在背景中的位置)

center:在中间显示top:在顶部显示left:在左边显示right:在右边显示bottom:在上边显示

4.背景图片的固定:background-attachment

默认情况下,背景图片会随着页面的滚动而移动。默认值是scroll(移动)、fixed(固定)

如下代码所示

body {
     background-image:url(../images/background.png);
     background-repeat:repeat-y;
     background-position:center;

     background-attachment:fixed;
  }

八、文本格式化

1.控制字体:指定字体(font-family:value1,value2,value3;)、字体大小(font-size:value;)、字体加粗(font-weight:normal/bold;)

2.控制文本格式:文本颜色(color:red;)、文本排列(text-align:left/right/center)、文字修饰(text-decoration:none/underline)、行高(line-height:value;)、首行文本缩进(text-indent:value;)、

PS:一般情况下,首行缩进两个字符:text-indent:2em;行高(文字在行高范围内垂直居中)设置为:line-height:3em;

注意:当行高=元素的高时,文字垂直居中。
  p1 {
       height:100px;
       line-height:100px;
   }

居中两种表达区别:(margin:auto;)框居中,(text-align:center;)框中的文字居中。

九、表格样式

1.表格内容在<body></body>标签中完成(详情请参考我的上一篇“JAVA中HTML知识点总结”),然后再<head></head>标签下的<style></style>中完成格式设置。

2.表格合并:border-collapse:sepatate/collapse;

十、定位

1.Why 要定位?

为了解决元素的布局(摆放)问题,定义元素框相对于父元素,另一个元素甚至浏览器窗口本身的位置。(比如网页上显示的广告信息,它们不会随着滚动条的移动而该边位置)

2.定位方式分类:

(1)普通流定位:元素本身默认的布局方式。

                             块元素垂直排列(hn/p/div/ol/ul/table)、行内元素左右排列(span/a/img/input)

(2)浮动定位:可以让块左右排列(普通的流定位中块是垂直排列,使用浮动定位可以让块元素左右布局),分为右浮动和左浮动,浮动的目标将脱离流。

float:none/left/right;

clear:left/right/none/both;(定义了元素的哪边上不允许出现浮动元素)

浮动的步骤:one(目标离队)、two(弟弟跟上)、three(浮动到对应的位置)

用下图展示右浮动的整个进行过程:(同理,左浮动的代码同右浮动代码相似)


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>浮动</title>
<style>
     #d0,p {
          width:400px;
          border:1px solid red;
     }
    #d0 div {
          width:100px;
          height:100px;
          margin:10px;
    }
    #d1 {
         background-color:red;
    }
    #d2 {
         background-color:green;
    }
    #d3 {
         background-color:blue;
    }
    /*浮动*/
    #d1,#d2,#d3 {
       float:left;
    }
    /*消除浮动影响*/
    /*1.只消除对叔叔的影响*/
    p {
       /*clear:left;*/
    }
    /*2.消除对父亲的影响*/
    #d0 #d4 {
       width:0;
       height:0;
       border:0;
       clear:left;
    }
</style>
</head>
<body>
  <div id="d0">
      <div id="d1"></div>
      <div id="d2"></div>
      <div id="d3"></div>
      <!-- 用来消除浮动影响 -->
      <div id="d4"></div>
  </div>
  <p>浮动时观察我位置!</p>
</body>
</html>


(3)特殊定位:分为相对定位、绝对定位、固定定位。

它们的本质都是一样的,都是相对于某个目标设置偏移量,只是目标不同,设置偏移的方式相同。

设置偏移量用下图表示:(如:left是以做边为准,向+为正偏移,其后的同理即可)


相对定位:以自己原始的位置为目标,进行偏移,不脱离流(队伍)

代码如下:

position:relative;

left:2px;

right:-2px;

用图形展示如下:


绝对定位:以带有position的父辈(若都没有带position,则以body为目标)为目标,设置偏移量,脱离流(队伍)。

代码如下:

position:absolute;

left:20px;

top:50px;

用图形展示如下:


固定定位:以窗口为目标,设置偏移量,目标脱离流(队伍),元素会固定在窗口上,不会随着滚动条而滚动。

代码如下:

position:fixed;

left:20px;

top:80px;

用图形展示如下:


堆叠顺序:一旦修改了元素的定位方式,则元素可能会发生堆叠。可以使用z-index属性来控制元素框出现的重叠顺序。

z-index:value;

value值越大,表示堆叠顺序越高,即距离用户越近。如下图所示:1的value值大于2大于3.


十一、列表样式

list-style-type属性用于控制列表中列表项标志的样式。

无序列表:出现在各列表项旁边的圆点。"none(无标记)、disc(实心圆为默认值)、circle(实心圆)、square(实心方块)等”

有序列表:可能是字母、数字或者另外某种计数体系中的一个符号。“none(无标记)、decimal(数字1,2,3,为默认值)、lower-roman(小写罗马数字)、upper-roman(大写罗马数字)等”

list-style-image属性使用图像来替换列表项的标记,取值为:url(),指定图像作为有序或者无序列表项的标志。

十二、显示方式

元素都有自己默认的显示方式,默认显示方式如下:

##块

有宽高,独立成行(垂直排列)。如<hn>、<p>、<div>、<ol>、<ul>、<table>

##行内

没有宽高,不独立成行(横向排列)。如<span>、<b>、<strong>、<i>、<em>、<u>、<del>、<a>

##行内块

有宽高,不独立成行(横向排列)。如<img>、<input>、<select>、<textarea>

除了默认的方式外,可以使用display属性来修改元素框的显示方式,也就是改变生成的框的类型。

display:block;将元素的显示方式设置为块

display:inline;将元素的显示方式设置为行内元素

display:inline-block;将元素的显示方式设置为行内块的方式。

display:none;不显示此元素,隐藏该元素。

注意:将块改为行内块,以实现左右排列。有一个问题不好解决,块与块之间写代码时,需要换行,比如写一个<div>后,如果还需要在写一个<div>则需要换行到下一行写。如果改为行内块,换行则会被当作一个空格对待,则两个<div>之间永远都会隔着一个空格,去不掉。要去掉,则需要横着写。

十三、鼠标形状。

默认情况下,光标会根据用户的操作发生变化。

鼠标悬停在链接上时,形状变为手状。悬停在按钮上时,变为箭头。悬停在文本区时,变为I形状。

可以使用cursor属性指定鼠标光标类型,取值如下:

default(箭头型)、pointer(手型)、crosshair(+型)、text(I型)、wait(旋转的圆圈型)、help(?型)等。

My conclusion:

        在java中这块内容是最简单的,也比较有意思,在敲码的过程中很清楚自己每一步的最终目的,逻辑性比较少,但是在制作页面的时候,需要life的审美和各个小知识点的掌握程度、灵活运用。在做网页的过程中,让我瞬间产生,毕业经济独立后,纯属生活趣味性的学摄影的idea.害羞fighting  my gril,把生活中的每一天经营成为自己喜欢的样子奋斗



  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值