CSS基础学习|青训营

65 阅读6分钟

1.基础语法:

1.1选择器:

        标签选择器:标签名 {  属性名: 属性值; }
​
•       类选择器:.类名 {  属性名: 属性值; }
​
•       id选择器:#id 选择器名 {  属性: 属性值; }
​
•       选择器优先级:id 选择器 > 类选择器 > 标签选择器
​
•       !important优先级最高,用法:p {        color: rgb(123, 52, 133) !important;      }
​
•       后代选择器:父标签名和后代标签名必须用空格隔开
​
•       群组选择器用于同时对几个选择器进行相同的样式设置,使用时,两个选择器之间必须要用英文逗号隔开

1.2背景样式

div的color是div里面文字的颜色,background-color是div盒子的颜色,其他的元素也一样

 background-color 属性可以给指定标签元素设置背景色
​
 background-image 属性可以把图像插入背景。background-size属性可以给背景图设置大小。
​
用法:body {        
        background-image: url("moon.jpg");        
        background-size: 300px 300px;      
    }
​
background-position 属性,可以改变图像在背景中的位置。
​
background-repeat 属性是用来设置背景图像是否平铺。
​
下表列出了 background-repeat 属性的一些可取值以及每个可取值的含义。
​
| 可 取 值   | 描 述                                        |
| --------- | -------------------------------------------- |
| repeat    | 背景图像将在垂直方向和水平方向重复(默认值) |
| repeat-x  | 背景图像将在水平方向重复                     |
| repeat-y  | 背景图像将在垂直方向重复                     |
| no-repeat | 背景图像将仅显示一次                         |
​
我们规定应该从父元素继承 background-repeat 属性的设置。

1.3文本属性

属 性可 取 值描 述
line-heightnormal、number、length、%设置行高(多行元素的空间量)
text-indentlength、%设置文本缩进
text-alignleft、right、center、justify、start、end设置对齐方式
letter-spacingnormal、length设置字符间距
text-decorationline、color、style、thickness设置文本修饰
white-spacenormal、pre、nowrap、pre-wrap、pre-line、break-spaces规定如何处理空白
line-breakauto、loose、normal、strict、anywhere、unset处理如何断开带有标点符号的文本的行
2.盒模型(margin+border+padding+content)

盒模型结构:doc.shiyanlou.com/courses/105…

各部分的功能如下表:

区域功能
内容区内容区在模型的中心包含了盒子内的信息也就是 HTML 元素。这些元素可以是文本、图片等。
内边距padding内边距是内容区和边框之间的空间,可以被看作是内容区的背景区域。
边框border边框用于标识盒子的边界,介于内边距和外边距之间。
外边距margin外边距位于边框外部,是边框与周围之间的空间。

2.1border属性

border-width:是边框宽度,宽度一般用数值即可。
border-style:是边框线的样式,一般有 solid(实线)、dotted(圆点)、dashed(虚线)、double(双横线)。
border-color:是边框线的颜色。
borderborder-widthborder-styleborder-color 都是复合属性,我们也可以单独设置某条边框的样式。
​
例如,border-color 可以写成:border-top-color: 上边框颜色;

box-sizing: border-box;

比如你给一个div设置宽高为500px,但实际你设置的只是content,之后你又设置了padding:10px;border:1px solid red;

这时div的宽高就会变为522px(content 500px + padding 20px + border 2px) 相当于一个元素的实际宽高是由: padding + border + content 组成

①:没有设置box-sizing:border-box属性,宽高会加上padding和border的值,需要我们手动去计算,减去padding和border的值,并调整content的值,以免超过给定的宽高

②:加了box-sizing:border-box属性,padding和border的值就不会在影响元素的宽高,相当于把padding和border的值都算在content里,盒子模型会自动根据padding和border的值来调整content的值,就不需要手动调整

2.2padding属性

padding就是内容区域外部的空白区域。
其使用格式如下所示:
padding: 上右下左;
padding-top: 顶部填充值;
padding-left: 左边填充值;
padding-right: 右边填充值;
padding-bottom: 底部填充值;

2.3margin属性:用来设置元素的外边距,与padding同理

margin: auto表示水平居中

3.display属性

display 属性可以用来设置元素在页面上的排列方式,也可用来隐藏元素。

属性值说明
block块级盒子
inline行级盒子
inline-block本身是行级,可以放在行级盒子中,可以设置宽高;作为一个整体不会被拆散成多行(里面的元素相当于一个盒子,不能被拆分)如果元素超出了父盒子的范围,需要换行才能更好看,可以添加overflow-wrap:break-word;来换行
flex控制子盒子的排版

行内元素可以和其他元素处于同一行,块级元素自己单独占一行

使用inline-block:比如,我们用 a 标签来实现导航的时候,a 标签虽然可以让元素在一行显示,但若我们想给每个 a 标签加上高和宽时发现没有任何效果。这时候用上 display: inline-block,它就具备块的特性了。

行级排版:盒子在一行内水平排放;一行放不下时,换行显示;text-align决定一行内盒子的水平对齐;vertical-align决定一个盒子在行内的垂直对齐;

块级排版:盒子从上到下排放;垂直margin合并;内部盒子的margin不会和外面的合并;不会和浮动元素重叠

flex:控制子级盒子摆放的流向、顺序;盒子的宽度和高度;水平和垂直方向的对齐

4.浮动与定位

4.1浮动:float 属性指定元素沿其容器的左侧或右侧放置

4.2定位

  • 静态定位(static):一般的标签元素不加任何定位属性时,默认都属于静态定位,静态定位在页面的最底层属于标准流(普通流),在页面中没有特殊的操作方式和显示效果
  • 相对定位(relative):该元素的位置相对于它原始的位置来计算的,其他元素就相当于它没有偏移一样布局(认为他还在原来的位置)
  • 绝对定位(absolute):把元素精确地放在任意位置,相对于最近的非static祖先进行定位;不会对常规流有任何影响(其他元素认为他不存在一样)
  • 固定定位(fixed):fixed 属性值用于固定定位,被固定的元素不会随着滚动条的拖动而改变位置;也不会对常规流有任何影响,但他的参考标准是页面窗口,而不是祖先元素。

学习体会

CSS主要是用来对页面的样式进行设计。我们可以通过运用CSS技术来设计出我们想要的页面效果,并且CSS是与HTML内容是分开的,这极大地方便了我们阅读、修改程序,也使得CSS具有一定的重复使用的特性,只需要在html文件中引入CSS文件即可,这对设计者来说十分方便的。除此以外,CSS比较容易学习但是如果想要使用的非常自然、熟悉的话是比较困难的,需要不断的运用、尝试才能设计出最具有自我特色的html页面。因此,学习CSS不仅要学它的使用,更要学习如何合理的运用到你想要表达的页面当中去,打造一个属于你自我特色的页面,这种实践内容才是我们学习的目的,才能促进我们不断进步。