CSS样式------布局、定位、盒子模型等功能的解析及总结

1,什么是css样式?

CSS:层叠样式表 Cascading Style Sheet

2,css样式作用

(1)为HTML页面布局
(2)美化HTML页面

3,css布局

3.1 盒子模型(五大模块)

主要包括以下五个模块的属性:
(1)内容区域:width 和 height ;//设置内容区域的宽高
(2)内填充区域: padding;//设置盒子内部的边距;
主要代码:padding-top: padding-right:padding-bottom:padding-left:分别代表上有下左加内填充;也可以写:padding:10px 20px 30px 40px;表示上右下左分别加 10、20、30、40px的内填充;

(3)边框: border;//设置盒子的边框——主要代码:border:1px solid red;
1px指边框宽度;solid指边框设为实现,或者dashed虚线,dotted点化线; red为颜色;
(4)外填充区域:margin;//设置盒子的外填充区域;
主要代码:margin-top: margin-right:margin-bottom:margin-left:分别代表上有下左加外填充;也可以写:margin:10px 20px 30px 40px;表示上右下左分别加 10、20、30、40px的外填充;
(5)背景:background;

3.1.1盒子模型值内容区域

(1)字体设置:

  1. font-style:设置字体是否倾斜 normal italic
  2. font-weight:设置字体是否加粗(font-weight:bold使用比较多的)
  3. font-size: 设置字体大小(谷歌默认16px;没有最大,只有最小字体12px)
  4. font-family: 设置字体类型(根据自己电脑的字体库设计)
  5. font:上面的几个属性的复合属性(可表示为:font:font-style font-weight font-size/line-height font-family前两个属性顺序可以变,也可以不写;)
3.1.5盒子模型之背景 background
  1. background-color:设置盒子的背景颜色(背景颜色可以填充padding或者border)
  2. background-image:设置盒子的背景图片(img就是一个盒子)

(1)一个盒子大小正好和背景图大小一样:正好装进去
(2)一个盒子如果大于背景图:默认会在x和y轴都进行平铺;
(3)一个盒子如果小于背景图:只会显示背景图的一部分,背景图的左上角和盒子的左上角对齐;

  1. background-repeat:控制背景图平铺问题;(repeat-x 只平铺x轴;repeat-y 只平铺y轴;repeat x和y轴都平铺;no-repeat x和y轴都不平铺)
  2. background-position;对背景图进行定位;(格式:background-position:x y图片默认左上角为原点)

(2)文本设置:

  1. text-decoration: 用来设置文本的装饰线(underline 下划线;line-through 删除线(偶尔会使用一下))
  2. text-indent: (2em首行缩进两个汉字;)
  3. text-align:(能够让文本居中center或者左对齐left右对齐right;)
  4. line-height:设置行高(当子标签为女标签时候,不能撑起父元素高度;当子标签是男标签时候,父标签高度会被撑起)

3.2 块级元素并排显示

(1)浮动
(2)flex
(3)定位
(4)行内块

3.2.1关于浮动布局的相关知识:
  • 最初浮动的原因是为了实现新闻字围的效果;
    当对盒子设置浮动的时候,将类似于盒子实现了悬浮的状态,此时已经脱离了父盒子的约束,但是再怎么浮动都脱离不了父元素,只不过会影响父元素的高度,此时文字会实现对盒子字围的效果。
  • 现在设置浮动主要是为了让块级元素能够实现并排显示;

浮动相关的代码:`float:left(左浮动); float:right(右浮动);

  • 当所有的子元素使用浮动时候父元素出现的高度等于0(塌陷问题)的解决方案:

(1)清除对父元素造成的影响:A. 给父盒子加overflow:hidden; B. 给父元素加高度hight
(2)清除对兄弟元素造成的影响:clear: left/right/both 或者clear:both;记住:clear:both只能写在第1个受影响的元素上,写在父元素上没有什么用。

  • 浮动元素的特点:

(1)贴靠性 如果都向同一个方向浮动,这两个浮动的元素会紧紧的贴在一起,如果后面的空间不够贴靠的话,它会自动换行;
(2)包裹性 如果是一个男盒子,在没有设置宽度的情况下,只要它浮动了,那么它的宽度会尽可能小;
(3)如果子元素都浮动了,那么父元素将会出现高度塌陷问题;
(4)如果一个女盒子浮动了,那么就可以给它设置宽高,也就是说这个女盒子变为男盒子了,(女盒子变男盒子加如下代码:display:block;

4,元素之间存在的重叠问题

4.1 兄弟元素之间的重叠问题:

  • 如果存在上下两个和盒子;上盒子设置margin-bottom:100px;下盒子设置margin-top:150px;
    则:上下两个盒子之间的间隔为150px;这种现象就叫做兄弟元素之间的重叠现象
  • 解决办法: 只设置一个盒子的外边距即可;

4.2 父子元素之间的重叠问题:

  • 存在一个父盒子,在父盒子中有一个子盒子;当给父盒子加 margin-top: 50px;给子盒子加 margin-top: 30px; 此时子盒子中的margin-top为50px,而不是80px;这种现象叫父子元素之间的margin重叠现象
  • 解决办法: 给父元素加border;或者给父元素加padding;

5,元素的定位问题

在css中,是通过position属性来进行定位的,可选的定位类型有static | relative | absolute | fixed这四种;默认的是static;表示没有定位,还保持原来的位置;
其他三个属性分别是相对定位,绝对定位,固定定位;

5.1,相对定位(position:relative)

  • 在一个父标签中的时候,要对标签中子元素进行相对定位;首先加入代码position:relative 然后,left:-20px;表示相对于子元素原来位置水平左移20px; top:20px;表示相对于子元素原来位置向下移20px;

  • 相对定位对父元素和兄弟元素的布局都没有任何影响,还会保留原来的位置,但可能会覆盖其他元素。

5.1,绝对定位(position:absolute)

  • 如果对元素进行绝对定位,首先加入代码position:absolute 加入该标签之后可以设置left | right | top | bottom属性对元素进行绝对定位。此时的定位是相对于最近的已经设置定位的祖先元素(即设置了绝对定位或者相对定位的祖先元素) 进行定位的;如果没有已经定位的祖先元素,那就是相对于最初的包含块(body)进行定位的。

  • 一般absolute会结合relative来使用:就是先自己选择一个祖先元素(参考点)设置为position:relative 此时已经存在祖先元素,然后对想要定位的元素设置position:absolute 再设置相对于参考点想要移动的距离。

  • 绝对定位之后,定位的元素会脱离标准文档流,原来的位置也将不存在;

5.3,固定定位(position:fixed)

  • 固定定位很好理解:就是对元素进行相对于页面(浏览器、手机、平板…)的定位。代码如下:position:fixed;/*设置元素为固定定位*/ top:30px;/*距离浏览器顶部30px*/ left:160px;/*举例浏览器左部160px*/
  • 也就是说如果使用固定定位,那么元素就将固定在页面的某个位置不会再改变,也不会受到其他页面的影响。

---------暂时总结这么多,后续继续完善---------

猜你喜欢

转载自blog.csdn.net/qq_44830054/article/details/107284844
今日推荐