首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CSS基础知识

CSS基础知识

作者头像
奋飛
发布2019-08-15 16:09:31
9910
发布2019-08-15 16:09:31
举报
文章被收录于专栏:Super 前端Super 前端

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://ligang.blog.csdn.net/article/details/44040625

CSS全称为"层叠样式表(Cascading Style Sheets)"

<link href="base.css" rel="stylesheet" type="text/css" />

内联式 > 嵌入式 > 外部式 【就近原则(离被设置元素越近优先级别越高)】 但是嵌入式>外部式有一个前提:嵌入式css样式的位置一定在外部式的后面。

一. CSS样式基本知识

子选择器(作用于元素的第一代后代): .food>li{border:1px solid red;} 包含选择器(作用于元素的所有后代): .first span{color:red;} 通用选择器: * {color:red;} 伪类选择符(它允许给html不存在的标签[标签的某种状态]设置样式,比如给html中一个标签元素的鼠标滑过的状态来设置字体颜色): a:hover{color:red;} 分组选择符(想为html中多个标签元素设置同一个样式时,可以使用分组选择符): 继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代。

p{color:red;}
<p>三年级时,我还是一个<span>胆小如鼠</span>的小女孩。</p>

结果p中的文本与span中的文本都设置为了红色。 但注意有一些css样式是不具有继承性的。如border:1px solid red;

p{border:1px solid red;}
<p>三年级时,我还是一个<span>胆小如鼠</span>的小女孩。</p>

只是给p标签设置了边框为1像素、红色、实心边框线,而对于子元素span是没用起到作用的。

p{color:red;} /*权值为1*/
p span{color:green;} /*权值为1+1=2*/
.warning{color:white;} /*权值为10*/
p span.warning{color:purple;} /*权值为1+1+10=12*/
#footer .note p{color:yellow;} /*权值为100+10+1=111*/

记住!important优先级样式是个例外,权值高于用户自己设置的样式。

p{color:red!important;}
p{color:green;}

二. 文字排版

文字对齐:text-align:center/left/right; 字体设置:font-family:"宋体"; 字体颜色:color:red; 字体大小:font-size:12px; 字体加粗:font-weight:bold; 文字斜体:font-style:italic; 下划线: text-decoration:underline; 删除线: text-decoration:line-through; 行间距: line-height:1.6em; 段落缩进:text-indent:2em; [2em的意思就是文字的2倍大小] 文字/字母间隔:letter-spacing:50px; 单词间隔:word-spacing:50px;

三. 元素分类

块状元素、内联元素(又叫行内元素)和内联块状元素 常用的块状元素有: <div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form> 常用的内联元素有: <a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code> 常用的内联块状元素(同时具备内联元素、块状元素的特点)有: <img>、<input> 内联转块:display:block 块转内联:display:inline-block 块级元素特点: 1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(真霸道,一个块级元素独占一行) 2、元素的高度、宽度、行高以及顶和底边距都可设置。 3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。 内联元素特点: 1、和其他元素都在一行上; 2、元素的高度、宽度、行高及顶部和底部边距不可设置; 3、元素的宽度就是它包含的文字或图片的宽度,不可改变。

四. 盒模型

内容(content)、填充(padding)、边框(border)、边界(margin) 边框: border:2px solid red; [虚线:dashed、点线:dotted、实线:solid] 一个元素实际宽度(盒子的宽度) = 左边界 + 左边框 + 左填充 + 内容宽度 + 右填充 + 右边框 + 右边界 一个元素实际宽度(盒子的宽度) = margin-left + border-left + padding-left + width + padding-right + border-right + margin-right 一个元素实际高度(盒子的高度) = margin-top + border-top + padding-top + height + padding-bottom + border-bottom + margin-bottom

五. 布局模型

流动模型(Flow)、浮动模型(Float)、层模型(Layer) 1、流动模型(Flow)是默认的网页布局模式 第一点,块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%。实际上,块状元素都会以行的形式占据位置。 第二点,在流动模型下,内联元素都会在所处的包含元素内从左到右水平分布显示。 2、浮动模型(Float) ==> 后者覆盖前者 float:left/right; 3、层模型(Layer) ==> left优先级高 绝对定位(position: absolute)、相对定位(position: relative)、固定定位(position: fixed) (1) position:absolute(表示绝对定位),将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口 相对于浏览器窗口处于右下角。并且拖动滚动条时位置固定变化。

div{
    width:200px;
    height:200px;
    border:2px red solid;
    position:absolute;
    right:0;
    bottom:0;
}
<div id="div1"></div>

(2) position:relative(表示相对定位),它通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置。相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动。 相对于以前位置向下移动50px,向右移动100px

#div1{
    width:200px;
    height:200px;
    border:2px red solid;
    position:relative;
    left:100px;
    top:50px;
}
<div id="div1"></div>
<span>偏移前的位置还保留不动,覆盖不了前面的div没有偏移前的位置</span>

(3) 固定定位(position: fixed),与absolute定位类型类似,但它的相对移动的坐标是视图(屏幕内的网页窗口)本身。由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响,这与background-attachment:fixed;属性功能相同。 相对于浏览器视图处于右下角。并且拖动滚动条时位置固定不变。

#div1{
    width:200px;
    height:200px;
    border:2px red solid;
    position:fixed;
    right:0;
    bottom:0;
}
<div id="div1"></div>
<p>文本文本文本文本文本文本文本文本文本文本</p>

(4) Relative与Absolute组合使用 1、参照定位的元素必须是相对定位元素的前辈元素: 2、参照定位的元素必须加入position:relative; 3、定位元素加入position:absolute,便可以使用top、bottom、left、right来进行偏移定位了。

<div id="box1"><!--参照定位的元素-->
    <div id="box2">相对参照元素进行定位</div><!--相对定位元素-->
</div>

#box1{
    width:200px;
    height:200px;
    position:relative;        
}
#box2{
    position:absolute;
    top:20px;
    left:30px;         
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015年03月03日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一. CSS样式基本知识
  • 二. 文字排版
  • 三. 元素分类
  • 四. 盒模型
  • 五. 布局模型
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档