《JavaScript构建Web和ArcGIS Server应用实战》——1.3 CSS基本原则

简介:

本节书摘来自异步社区《JavaScript构建Web和ArcGIS Server应用实战》一书中的第1章,第1.3节,作者: 【美】Eric Pimpler(派普勒) 更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 CSS基本原则

级联样式表(CSS)是描述网页中HTML元素如何显示的一门语言。例如,CSS通常用来定义一个或多个页面中的常见的样式元素,比如字体、背景颜色、字体大小、链接颜色和其他多种与网页视觉设计相关的方面。让我们看下面的代码片段。

<style>
  html, body {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  #map{

    padding:0;
    border:solid 2px #94C7BA;
    margin:5px;
  }
  #header {
    border: solid 2px #94C7BA;
    padding-top:5px;
    padding-left:10px;
    background-color:white;

    color:#594735;

    font-size:14pt;
    text-align:left;
    font-weight:bold;
    height:35px;
    margin:5px;
    overflow:hidden;
  }
  .roundedCorners{
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
  }
  .shadow{

    -webkit-box-shadow: 0px 4px 8px #adadad;
    -moz-box-shadow: 0px 4px 8px #adadad;
    -o-box-shadow: 0px 4px 8px #adadad;
    box-shadow: 0px 4px 8px #adadad;
  }
</style>

1.3.1 CSS语法
CSS遵循特定的规则来定义选择哪种HTML元素和如何设计元素。CSS规则包括两个主要部分:一个选择器和一个或多个声明。选择器就是典型的需要样式化的HTML元素。图1-6中,选择器是p。HTML中

元素代表一个段落。CSS规则中的第二个部分包括一个或多个声明,它们每一个都由一个属性和值构成。属性代表需要改变的样式属性。在我们的例子中,设置color属性为red。实际上,该CSS规则定义了段落中的所有文本颜色是红色的。


<a href=https://yqfile.alicdn.com/e8e6be1c1025dc6dc857f9c48324fa68bed738ce.png" >

我们使用p{color:red;},如图1-6所示。

下列示例中CSS规则包括多个声明。声明总是使用花括号括起来,每个声明以分号结束。此外,属性和值之间使用冒号。在这个特殊例子中,使用了两个定义:一个是段落的颜色,另一个是段落的文本对齐方式。请注意声明是通过分号进行分割的。

p {color:red; text-align:center}

CSS注释用来解释代码,你应该养成和任何其他编程语言中一样为CSS代码进行注释的习惯,且注释通常会被浏览器忽略。注释以斜线后跟一个星号开始,以星号后面跟斜线结束,其中的所有内容都是注释,将会被忽略。

/*
h1 {font-size:200%;}
h2 {font-size:140%;}
h3 {font-size:110%;}
*/

此外,为特定的HTML元素指定选择器,你可以使用id选择器来为任何与id选择器匹配的任意HTML元素的id值来定义样式。id选择器在CSS中是通过井号(#)后面跟id值定义的。

比如,在下列示例代码中,你看见三个id选择器:rightPanel、leftPanel和map。在ArcGIS API for JavaScript应用程序中,总是会有一个map。当你定义

标签来作为map的容器时,定义一个id选择器,并通常赋值成map。在这种情况下,我们使用CSS来为地图定义多种样式,包括5像素的间距及特定颜色的实心样式边框和边框的弧度,如图1-7所示。
#rightPanel {
    background-color:white;
    color:#3f3f3f;
    border: solid 2px #224a54;
    width:20%;
}
#leftPanel {
    margin: 5px;
    padding :2px;
    background-color:white;
    color:#3f3f3f;
    border:solid 2px #224a54;
    width:20%;
}
#map {
    margin:5px;
    border: solid 4px #224a54;
    -mox-border-radius:4px;
}


<a href=https://yqfile.alicdn.com/3195b06a3c888f5d5e4d5ee1089c6db5b8d3543e.png" >

不同于id选择器专门为单个元素设置样式,类选择器可以为一组元素指定样式,它们都有相同的HTML类属性。类选择器通过.后面跟类名字来定义。你也可以指定受影响的样式只有特定的THML元素和专门的类。下列代码显示了这两种情况下的例子。

.center {text-align:center;}
p.center {text-align:center;}

你的HTML代码可以用下列方式引用类选择器。

<p class="center">This is a paragraph</p>

有三种方式可以将CSS插入到你的应用程序中:行内样式、内嵌样式和链接样式。

1.3.2 行内样式
第一种定义HTML元素的CSS规则方法是使用行内样式。但是我们不推荐使用这种方式,因为它和呈现层混杂在一起很难维护。只有在需要定义一组有限范围内CSS规则的情况下,才选择这种方式。使用行内样式,仅需将style属性放置在指定的HTML标签内部。

<p style="color:sienna;margin-left:20px">This is a paragraph.</p>

1.3.3 内嵌样式
内嵌样式将所有的CSS规则应用到指定的Web页面中。只有那个专门页面中的HTML元素才能访问到样式规则。这里所有的CSS规则都定义在

标签之间并且包裹在

这些都是你需要理解的一些CSS基本概念。你可以使用CSS来定义几乎任何网页的样式,包括背景、文字、字体、链接、列表、图像、表格、地图和其他任何可见的对象。

相关文章
|
2月前
|
JavaScript 前端开发 Go
CSS 与 JS 对 DOM 解析和渲染的影响
【10月更文挑战第16天】CSS 和 JS 会在一定程度上影响 DOM 解析和渲染,了解它们之间的相互作用以及采取适当的优化措施是非常重要的。通过合理的布局和加载策略,可以提高网页的性能和用户体验,确保页面能够快速、流畅地呈现给用户。在实际开发中,要根据具体情况进行权衡和调整,以达到最佳的效果。
|
1月前
|
移动开发 开发者 HTML5
构建响应式Web界面:Flexbox与Grid的实战应用
【10月更文挑战第22天】随着互联网的普及,用户对Web界面的要求越来越高,不仅需要美观,还要具备良好的响应性和兼容性。为了满足这些需求,Web开发者需要掌握一些高级的布局技术。Flexbox和Grid是现代Web布局的两大法宝,它们分别由CSS3和HTML5引入,能够帮助开发者构建出更加灵活和易于维护的响应式Web界面。本文将深入探讨Flexbox和Grid的实战应用,并通过具体实例来展示它们在构建响应式Web界面中的强大能力。
39 3
|
28天前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
139 45
|
26天前
|
前端开发 JavaScript
如何在 JavaScript 中访问和修改 CSS 变量?
【10月更文挑战第28天】通过以上方法,可以在JavaScript中灵活地访问和修改CSS变量,从而实现根据用户交互、页面状态等动态地改变页面样式,为网页添加更多的交互性和动态效果。在实际应用中,可以根据具体的需求和场景选择合适的方法来操作CSS变量。
|
16天前
|
缓存 前端开发 JavaScript
优化CSS和JavaScript加载
Next.js和Nuxt.js在优化CSS和JavaScript加载方面提供了多种策略和工具。Next.js通过代码拆分、图片优化和特定的CSS/JavaScript优化措施提升性能;Nuxt.js则通过代码分割、懒加载、预渲染静态页面、Webpack配置和服务端缓存来实现优化。两者均能有效提高应用性能。
|
16天前
|
前端开发 JavaScript
用HTML CSS JS打造企业级官网 —— 源码直接可用
必看!用HTML+CSS+JS打造企业级官网-源码直接可用,文章代码仅用于学习,禁止用于商业
71 1
|
21天前
|
前端开发 JavaScript 安全
HTML+CSS+JS密码灯登录表单
通过结合使用HTML、CSS和JavaScript,我们创建了一个带有密码强度指示器的登录表单。这不仅提高了用户体验,还帮助用户创建更安全的密码。希望本文的详细介绍和代码示例能帮助您在实际项目中实现类似功能,提升网站的安全性和用户友好性。
35 3
|
26天前
|
前端开发 JavaScript UED
如何使用 JavaScript 动态修改 CSS 变量的值?
【10月更文挑战第28天】使用JavaScript动态修改CSS变量的值可以为页面带来更丰富的交互效果和动态样式变化,根据不同的应用场景和需求,可以选择合适的方法来实现CSS变量的动态修改,从而提高页面的灵活性和用户体验。
|
24天前
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
在Web开发中,前后端的高效交互是提升用户体验的关键。本文通过一个基于Flask框架的博客系统实战案例,详细介绍了如何使用AJAX和Fetch API实现不刷新页面查看评论的功能。从后端路由设置到前端请求处理,全面展示了这两种技术的应用技巧,帮助Python Web开发者提升项目质量和开发效率。
40 1
|
26天前
|
SQL 负载均衡 安全
安全至上:Web应用防火墙技术深度剖析与实战
【10月更文挑战第29天】在数字化时代,Web应用防火墙(WAF)成为保护Web应用免受攻击的关键技术。本文深入解析WAF的工作原理和核心组件,如Envoy和Coraza,并提供实战指南,涵盖动态加载规则、集成威胁情报、高可用性配置等内容,帮助开发者和安全专家构建更安全的Web环境。
47 1