Bootstrap

Java前端基础——CSS

一、CSS介绍

1.1 什么是CSS

CSS(Cascading Style Sheet),层叠样式表,用于控制页面的样式.

CSS 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果. 能够做到页面的样式和结构分离. 

a326de99b0b14153a18f6ef2908bab1a.png


1.2 基本语法规范

选择器 + {⼀条/N条声明} 

选择器决定针对谁修改 (找谁)  • 声明决定修改啥. (干啥)

声明的属性是键值对. 使用 ; 区分键值对, 使用 : 区分键和值. 

<style>
 p {
 /* 设置字体颜⾊ */ 
 color: red;
 /* 设置字体⼤⼩ */ 
 font-size: 30px;
 }
</style>
<p>hello</p>

例如:9bdd39ffa1824515a1dfcc0eaff55742.png

注意:

1.CSS一般写到style标签中(其他方式后面介绍);

2.style标签一般放到head标签中; 


1.3 CSS引入方式

CSS有三种引入方式:


1.行内样式:99739a7c28684d8fb6abc17a338028df.png

将style标签作为属性写到起始标签内。

 

2.内部样式:437d6bef1a644ea3a1e0f32c1c2a71e9.png

将style标签写到HTML语句中。

 

3.外部样式:d82c2d1850864c68827428840f49ed55.png

将CSS语句写到.css文件中。

三种引入方式对比:

1. 行内样式会出现大量的代码冗余, 不方便后期的维护,所以不常用

2. 内部样式, 只适合于写简单样式. 只针对某个标签生效. 缺点是不能写太复杂的样式. 

3. 外部样式,html和css实现了完全的分离, 企业开发常用方式


1.4 CSS书写规范

样式大小写

统一使用小写字母。

空格规范

1.冒号后面带空格。

2.选择器和 } 之间带空格。


二、CSS选择器

CSS 选择器的主要功能就是选中页面指定的标签元素. 选中了元素, 才可以设置元素的属性. 

CSS的选择器主要有标签选择器、class选择器、id选择器、复合选择器、通配符选择器。

 2.1 标签选择器

即将HTML中的标签作为选择器的选择器,如:

/* 选择所有的a标签, 设置颜⾊为红⾊ */ 
a {
 color: red;
}
/* 选择所有的div标签, 设置颜⾊为绿⾊ */ 
div {
 color: green;
}

示例:

1fb3f9df0cba44d4996df5372aed94ec.png


2.2 ID选择器

!!!标签选择器改变的是整个页面中所有标签为该标签的属性,而ID选择器改变的只是页面中标签id为目标id的属性,往往改变的是单个标签的属性(id不重复的情况下)。

/* 选择id为submit的元素, 设置颜⾊为红⾊ */ 
#submit {
 color: red;
}

!!!注意:使用ID选择器要再id前加 # 以区分id与标签的区别。 

示例:

0161428099bc442eb0c4c6cf572d86e9.png


2.3 类选择器

即通过标签中的class属性来改变标签的属性的选择器。

用来改变几个类属性相同的标签的属性。

/* 选择class为font32的元素, 设置字体⼤⼩为32px */ 
.font32 {
 font-size: 32px;
}

!!!注意:通过再class名前加“ . “来区分它为类选择器。

示例:

17a0673d131143298c66c13d3f71b958.png


2.4 通配符选择器

/* 设置⻚⾯所有元素, 颜⾊为红⾊*/ 
* {
 color: red;
}

示例:

862ff94e91704d78865a1293b351fb9f.png


2.4 复合选择器

类型一:

/*只设置 ul标签下的 li标签下的 a标签, 颜⾊为红⾊*/ 
ul li a {
 color: blue;
}

ul li a 之间以空格隔开,表示将ul标签下的li标签下的a标签的颜色改为blue,它们之间是父子关系。 

类型二:

 

​
ul , ol {
  color:red;
}

​

ol li 之间以逗号隔开,表示将所有的ul ol标签都改为红色,它们之间是兄弟关系。


 三、常用CSS

 <div class="div1">我是一个div</div>

3.1 color

color:设置字体颜色

.text1{
 color: red;
}

结果如下:

2e6c8c67af604d81a050a5ccbd4cab38.png

 其中,颜色有以下三种表达方式:

1.英文单词:如red、green等

 

2.rgb代码的颜色:如rgb(255,0,0)(即用三原色表示)

3eb530883ac8467e9641fa058406be53.png

 

3.十六进制表示:如#ff00ff(即将三原色的值用十六进制表示出来)48248ced56e54e0888b7d61ccbb56e6c.png


 3.2 font-size

font-size用于设置字体大小

 .div1 {
        font-size: 50px;
    }   

结果如下:

5c77d9441ac842669d791e90b167c336.png


3.3 border(边框)

边框是⼀个复合属性, 可以同时设置多个样式, 不分前后顺序, 浏览器会根据设置的值自动判断 。

.text1{
 border: 1px solid purple;
}

结果如下:

916e33bd2bcb441f9986c842402948a9.png

 边框分为上下左右(top、buttom、left、right)四个部分,我们也可以单独对边框的某部分进行设置,如:2cfa09191bd24c2d95406e045826d688.png

上面border的属性分别为边框粗细、样式还有颜色。也可以根据下表分开设置:

0dc637c2abf04509906f26b6e5492c89.png

也就是说,上面的代码相当于:

.text1 {
 /* border: 1px purple solid; */
 border-width: 1px;
 border-style: solid;
 border-color: purple;
}

这三个属性可以通过1~4个值来指定(以border-width为例):

<1>当指定一个值时:同时设置4条边的宽度;

<2>当指定二个值时:第一个值设置顶部和底部,第二个值设置左侧和右侧;

<3>当指定三个值时:第一个值设置顶部,第二个值设置左侧和右侧,第三个值设置底部;

<4> 当指定四个值时:按照顶不,右侧,底部,左侧(顺时针)设置;

其它两个属性类似。


 3.4 width和height

width: 设置宽度 

height: 设置高度

注意:只有块级元素才可以设置宽高!!!(即独占一行的元素,如h1~h6等),比如改变span标签的高度和宽度是不会生效的。

如果一定要设置行内标签的宽高呢?我们可以通过使用display属性修改元素的显示模式。

 

display: block 改成块级元素 [常用] 

 

display: inline 改成行内元素 [很少用] 


3.5 padding(内边距)和 margin(外边距)

padding: 内边距, 设置内容和边框之间的距离. 

内容默认是顶着边框放置的. 用 padding 来控制这个距离

8aa51592fa7f4485812deca813e2bac5.png

.text1 {
 padding: 20px;
}

 

 margin:外边距,设置元素与元素之间的距离。

.text1 {
 margin: 20px;
}

 

注意:和border一样,padding和margin也是⼀个复合样式, 可以对四个方向分开设置 

padding-top 

padding-bottom 

padding-left 

padding-right 

margin-top

margin-bottom

margin-left 

margin-right 

 

 示例:43a81d7f481d4d89b07f1680a3a4e387.png

!!!内边距和外边距是相对的。

 

;