美文网首页
CSS基础理解

CSS基础理解

作者: 抱着熊喵啃什么 | 来源:发表于2017-07-31 18:08 被阅读26次

CSS基础理解

一、CSS 加载方式有几种

CSS可以通过使用外部样式表、内部样式表、内联样式来使用。

  • 外部样式表(推荐)
    1)通过 <link> 引入 CSS。
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8" />
  <title>CSS</title>
  <link rel="stylesheet" href="index.css">
</head>
<body>
  <h1>Hello CSS!</h1>
</body>
</html>

2)通过 @import 引入样式,放入 css 中

<style>
@import url("index.css");
@import url('index.css');
@import url(index.css);
@import 'custom.css';
@import "common.css";
@import url('landscape.css') screen and (orientation:landscape);
</style>
  • 内部样式表
    将 CSS 放在页面的 <style>元素中。
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8" />
  <title>CSS</title>
  <style>
    h1 { background: orange; }
  </style>
</head>
<body>
  <h1>Hello CSS!</h1>
</body>
</html>
  • 内联样式
    不推荐,但在某些情况下很有用。
    <p style="background: orange; font-size: 24px;">CSS 很 👍<p>

二、@charset有什么作用

在外部样式表文件内使用。指定该样式表使用的字符编码。

三、CSS具有哪些选择器

  • 简单选择器(Simple selectors):通过元素类型、class或 id匹配一个或多个元素。
  1. 元素选择器 Element Selectors
p {
  color: red;
}

div {
  color: blue;
}
  1. ID 选择器 ID Selectors
<p id="notification">通知:明天放假</p>
#notification {
  font-size: 24px;
}
  1. 类选择器 Class Selectors
<ul>
  <li class="first done">起床</li>
  <li class="second done">刷牙</li>
  <li class="third">洗脸</li>
</ul>
.first {
  font-weight: bold;
}

.done {
  text-decoration: line-through;
}

4.通用选择器 Universal Selector

* {
  box-sizing: border-box;
}

.flex-container * {
  flex-basis: 100%;
}
  • 属性选择器(Attribute selectors):通过 属性 / 属性值 匹配一个或多个元素。
  1. [attr]
    [attr] 选择包含 attr 属性的所有元素,不论 attr 的值为何。
[disabled] {
  cursor: not-allowed;
}
  1. [attr=val]
    [attr=val]仅选择 attr 属性被赋值为 val 的所有元素。
[data-color="gray"] {
  color: #ccc;
}
  • 伪类(Pseudo-classes):匹配处于确定状态的一个或多个元素,比如被鼠标指针悬停的元素,或当前被选中或未选中的复选框,或元素是DOM树中一父节点的第一个子节点。
a:link { ... }
a:visited { ... }
a:hover { ... }
a:active { ... }
li:first-child { ... }
li:last-child { ... }
body :not(p) { ... }
p:not(.warning) { ... }
  • 伪元素(Pseudo-elements):匹配处于相关的确定位置的一个或多个元素,例如每个段落的第一个字,或者某个元素之前生成的内容。
    ::after ::before ::selection ::first-letter ::first-line ::-webkit-input-placeholder
.clearfix::after {
  content: '';
  clear: both;
  display: block;
}
/* 设置 input 元素 placeholder 的字体颜色 */
input::-webkit-input-placeholder {
  color: #aaa;
}
  • 组合器(Combinators):这里不仅仅是选择器本身,还有以有效的方式组合两个或更多的选择器用于非常特定的选择的方法。例如,你可以只选择divs的直系子节点的段落,或者直接跟在headings后面的段落。
  1. A, B
    A, B 选中匹配 A 或/和 B 的元素
.author, .famous {
  font-weight: bold;
}
<h1>登鹳雀楼</h1>
<p class="author">王之涣<p>
<p class="normal">百日依山尽,黄河入海流。</p>
<p class="famous">欲穷千里目,更上一层楼。</p>
  1. A B
    A B 选中匹配 B 且为匹配 A 的元素的后代元素。
.article a {
  color: #384ebf;
}
  1. A > B
    A > B 选中匹配 B 且为匹配 A 的元素的直接子元素。
.warriors > li {
  background-image: url(../images/warrior.svg);
}
<ul class="warriors">
  <li><!-- ✅ -->
    斯蒂芬·库里
    <ul>
      <li>微博:<a href="http://weibo.com/u/3432945104">@StephenCurry</a></li>
      <li>Twitter: <a href="https://twitter.com/stephencurry30">@StephenCurry30</a></li>
    </ul>
  </li>
  <li>凯文·杜兰特</li><!-- ✅ -->
  <li>克莱·汤普森</li><!-- ✅ -->
  <li>德雷蒙德·格林</li><!-- ✅ -->
</ul>
  1. A + B
    A + B 选中匹配 B 且为匹配 A 的元素的下一相邻元素。
.cavs .lbj + li {
  text-shadow: 1px 1px 5px #ccc;
}
<ul class="cavs">
  <li class="lbj">勒布朗·詹姆斯</li>
  <li>凯里·欧文</li><!-- ✅ -->
  <li>凯文·乐福</li>
</ul>
  1. A ~ B
    A ~ B 选中匹配 B 且为匹配 A 的元素的下 N 个相邻元素。
.cavs .lbj ~ li {
  text-shadow: 1px 1px 5px #ccc;
}
<ul class="cavs">
  <li class="lbj">勒布朗·詹姆斯</li>
  <li>凯里·欧文</li><!-- ✅ -->
  <li>凯文·乐福</li><!-- ✅ -->
</ul>
  • 多用选择器(Multiple selectors):这些也不是单独的选择器;这个思路是将以逗号分隔开的多个选择器放在一个CSS规则下面, 以将一组声明应用于由这些选择器选择的所有元素。
.players .player.curry, .player.mvp, #lebron-james {
  background-image: url(../images/mvp.png);
}

相关文章

  • CSS基础理解

    CSS基础理解 一、CSS 加载方式有几种 CSS可以通过使用外部样式表、内部样式表、内联样式来使用。 外部样式表...

  • CSS基础理解(二)

    一、 em、rem、vm、vw 分别如何计算尺寸的? em:相对于父元素的font-size属性值来计算的,如果父...

  • bunny笔记|vue框架和库的区别

    学习vue前的基础 基础理解1.HTML2.CSS3.JavaScript4.ES6升级理解1.vue-route...

  • CSS学习资源

    基础篇 CSS 最核心的几个概念 CSS 简写指南 CSS样式基础 CSS样式设置 CSS布局模型 CSS文字排版...

  • 【2016年特别福利】史上最全CSS学习资料大全

    基础篇 CSS 最核心的几个概念 CSS 简写指南 CSS样式基础 CSS样式设置 CSS布局模型 CSS文字排版...

  • b站面试大纲

    HTML布局、CSS选择器及JS基础综合能力知识点算法基础:数组 flat、去重及排序react vue 理解及基...

  • css

    css盒模型是理解css布局的基础。 一个页面是由无数个“盒子”组成的,如果大家用Firebug或是其它调试程序...

  • Vue.js学习笔记2 - HTML+CSS

    一、HTML 一个静态网页的形成就是通过HTML和CSS,你可以把HTML理解成大楼的钢筋水泥基础结构。CSS的作...

  • 前端基础技术&常用组件

    HTML/CSS/Javascript三座大山是前端技术的核心,万变不离其宗,回归基础,夯实基础,加深理解,是成为...

  • 盒模型!!

    当我们学习 CSS 的时候,总是会听到一个盒模型的概念。它是 CSS 的基础,如果你不能理解盒模型,那你就无法学好...

网友评论

      本文标题:CSS基础理解

      本文链接:https://www.haomeiwen.com/subject/xlvrlxtx.html