不懂CSS的后端难道就不是好程序猿?

  由于H5在移动端的发展如日中天,现在大部分公司对高级前端需求也是到处挖墙角,前端薪资也随之水涨船高,那公司没有配备专用的前端怎么办呢?

  作为老板眼中的“程序猿” 前端都不会是非常无能的表现,那作为后端人员需要不需要懂前端呢?为了提升价值还是需要懂点的,不然一点问题就找前端,那是不是让别人疯了……

  前端先从最常见的调样式说起吧,重要知识点之盒子模型,这里就不叽叽歪歪那些难懂的概念,直接看下面的图吧。

什么叫做外边距,内边距……

图1:英文版

通俗点就是下面的图:

图2:中文版

再看看总宽度与总高度的计算,应该都看得懂:

图3

  之所以要知道宽度与高度的计算,当你在一行内容后面再加个按钮时,这个按钮会随着浏览器的大小满屏的到处乱飞,虽然你左调右调宽度,定位,就差那一两个像素的事会让你抓狂,这时你就要学会计算那刚刚好的几像素问题。

那这里就再讲讲多个元素之间要注意的问题:

padding只存在于一个盒子内部,所以通常它不会涉及与其他盒子之间的关系和相互影响的问题。

margin则用于调整不同的盒子之间的位置关系。

① 行内元素之间的水平margin

图4  行内元素之间的水平margin

两个块之间的距离为:30px+40px=70px。

② 块级元素之间的竖直margin

图5  块级元素之间的竖直margin

如果不是行内元素,而是竖直排列的块级元素,margin的取值情况就会有所不同。

两个块级元素之间的距离不是margin-bottom与margin-top的总和,而是两者中的较大者,如图所示。这个现象称为margin的“塌陷”(或称为“合并”)现象,意思是说较小的margin塌陷(合并)到了较大的margin中。

  有时你想给一个按钮加个背景佬的啊,竟然无效果!一查原来是被其它样式覆盖了,怎么回事?那就要了解CSS样式优先级

  CSS样式中会有外部样式、内部样式和内联样式同时应用于同一个元素,就是使多重样式的情况。

一般情况下,优先级如下:

  (外部样式)External style sheet <(内部样式)Internal style sheet <(内联样式)Inline style

   行内样式(直接在元素上打style="")》 ID样式(用id=标识)》 类别样式(class="") 》 标记样式(写在head中或css文件中) 

  标准的写法当然是将样式统一写在css的文件中方便复用管理,页面中尽量不要写样式,保持代码的整洁性。(看到一锅粥的页面你是不是会有一种看到大海的感觉……)

那怎么定位到我想到的元素呢?CSS选择器出场

一.基本CSS选择器有标记选择器、类别选择器、ID选择器3种:

  1.标记选择器
       每一种HTML标记的名称都可以作为相应的标记选择器的名称,如h1,p,div等等
  2.类别选择器
     类别选择器的名称可以由用户自定义
     格式如下:.class{color:green;font-size:20px;}
  3.ID选择器
        与类别选择器相试
      格式如下:#id{color:green;font-size:20px;}

二.复合选择器:就是两个或者多个基本选择器,通过不同方式连接而成的选择器
  1.“交集”选择器:由两个选择器直接连接构成,其结果是选中二者各自元素范围的交集,其中第一必须是标记选择器,第二个必须是类别选择器或者ID选择器,两个选择器之间不能有空格,必须连续书写
    如:h3.class{color:red;font-size:23px;} div#special{...} 注意两者间没有空隔

  2.“并集”选择器:同时选中各个基本选择器所选择的范围,任何形式的选择器都可以,并集选择器是多个选择器通过逗号连接而成的,
    格式如:h1,h2,h3{color:red;font-size:23px;} 注意中间是有逗号分隔

三.后代选择器:
  写法:把外层的标记写在前面,内层的标记写在后面,之间用空格分隔,当标记发生嵌套时,内层的标记就成为外层标记的后代了
  举个栗子:

<html>
<head>
<title>后代选择器</title>
<style type="text/css">
p span{
    color:red
}
span
{
   color:blue;
}
</style>
</head>
<body>
<p>嵌套<span>用CSS</span>标记的方法</p>嵌套之外的<span>标记</span>不生效
</body>
</html>

  效果:

  

  效果是:“用CSS”的显示红色,其他用<span>包围起来的是兰色
  后代选择器产生的影响不仅限于元素的“直接后代”,而且会影响到它的“各级后代”

四.子选择器:也就是只有对直接后代有影响的选择器,而对“孙子”以及对个层的后代不产生作用。
  格式如下:p>span{color:blue;}

有个例外的情况,就是如果外部样式放在内部样式后面,则外部样式将覆盖内部样式。

<head>
    <style type="text/css">
      /* 内部样式 */
      h3{color:green;}
    </style>

    <!-- 外部样式 style.css -->
    <link rel="stylesheet" type="text/css" href="style.css"/>
    <!-- 设置:h3{color:blue;} -->
</head>
<body>
    <h3>测试!</h3>
</body>

这里就先讲两个常用甚而知识点,等有空再补其它内容……

最后还是那个问题:后端程序猿必须要懂前端么?投票

更多源码资讯请关注另一个程序猿的公众号【一个码农的日常】

时间: 2024-10-22 07:51:49

不懂CSS的后端难道就不是好程序猿?的相关文章

不懂Git,别说自己是程序猿–20分钟git快速上手(转)

在Git如日中天的今天,不懂git都不好意思跟人说自己是程序猿.你是不是早就跃跃欲试了,只是苦于没有借口(契机). 好吧,机会就在今天. 给我20分钟,是的,只要20分钟, 让你快速用上git. 我们废话不多说,直接来干货. 我们将会介绍一下几点: 一, 什么是git 二,使用git的一般开发流程 三,快速安装新建项目.holloword. 开始: 一.什么是git. 阅读本文的前提是你知道或者用过至少一种源代码管理工具,比如:SVN, CVS 或者TFS等等. 你必须知道什么是源代码管理.如果

一个Java程序猿眼中的前后端分离以及Vue.js入门

松哥的书里边,其实有涉及到 Vue,但是并没有详细说过,原因很简单,Vue 的资料都是中文的,把 Vue.js 官网的资料从头到尾浏览一遍该懂的基本就懂了,个人感觉这个是最好的 Vue.js 学习资料 ,因此在我的书里边就没有多说.但是最近总结小伙伴遇到的问题,感觉很多人对前后端分离开发还是两眼一抹黑,所以今天松哥想和大家聊一下前后端分离以及 Vue.js 的一点事,算是一个简单的入门科普吧. 前后端不分 后端模板:Jsp.FreeMarker.Velocity 前端模板:Thymeleaf 前

后端程序猿写的前端js代码模板

看几天的javascript面向对象和基础等之类相关javascript的知识,由于自己是写php的,也写过java,所以想在写javascript代码的时候也能用上面向对象的思想, 折腾了一整天的js继承和封装等,搞得我是吃午饭都想着问题,怎么javascript代码可以如此松散呢?眼看就要下班了,加班到现在不知怎么滴就弄了这样一个js代码模板,想以后每个模块都这样写.大了就各个功能对象提炼出来,如验证的.语言包的. 好了,废话不多说,菜鸟一个,代码没注释也不完整,高手留情指点: reg.ht

Typora优化-适合不懂CSS代码的小白

typora:不开源,测试期间免费,实时预览模式将「写作」和「预览」合二为一 1.扩展编辑器宽度:(解决因图片过大,即使编辑器全屏也模糊的问题.解决一行只能写860px宽度的文字限制) ( 默认修改版式是居中,不是每行都居中,而且是把所有行看成一个整体居中, 想仿word中的web版式视图按照截图中的红色字再改值即可) 我用的是弹性盒模型flex 对排版进行了更改: 1).通过文件-偏好设置 打开主题文件夹: 2). 打开主题文件夹 弹出如下文件:(我用的github主题,用什么主题就改 主题名

你不是程序猿 所以你不懂

曾一度的迷恋技术,认为掌握了技术后就非常牛X,可以到外面做些项目,从中获取一些报酬,自己更是乐此不疲.并且认为看了很多的技术书籍,学了很多 的语言,看了许多牛X技术的底层原理,就自认为自己在这方面是专家权威,高智商的人.当然,可能你希望大家叫你大神.大牛.精英.前辈,自己的虚荣心都得 到了小小的满足. 千万不要认为技术牛X了就可以从屌丝变身高富帅,不懂技术的人没有前途. 你不是程序员,所以你不会知道的那些真相... 来自网络,作者不详

后端程序猿怎能不会的linux命令

(图片超清,可放大网页查看) 来源 https://zhuanlan.zhihu.com/p/28674639

你不懂,仅仅有程序猿懂

1.这里改一下就好 ,非常easy. 2.再加个XX功能吧 ,非常快. 3.你先这样实现 不行回头在改 4.刚加了功能---来立即给我的机子装一个新版本号---什么要给你3分钟加代码?!---不行! !! 如今就要 5.老板拿着还没写完的app走了.一会儿通知你:这儿竟然有一个bug 你赶紧改! !! 6.自己歇息的时候检查程序 发现逻辑漏洞 完好之后告诉老板:来更新下版本号吧 刚改动了程序 ---老板向我投来歧视的目光 7.老板--^_^我要辞职. :为什么要走??! . 不要走-给你涨工资

我要带徒弟学JAVA架构 ( 写架构,非用架构 )

我要带徒弟学JAVA架构 (写架构.非用架构) 非常多人做java开发2,3年后.都会感觉自己遇到瓶颈. 什么都会又什么都不会.怎样改变困境,为什么非常多人写了7,8年还是一个码农,工作中太多被动是由于不懂底层原理. 公司的工作节奏又比較快,难有机会学习架构原理,也没人教.所以这个时候,学习架构原理,扩展思维,对自己以后职业生涯尤为重要. 相同公司的两个新人,一个新人一点就通.学东西非常快,有的人.学东西非常慢,也非常痛苦,处处都是新技术.为什么?由于那个人懂原理,万物都有规律,掌握了规律学其它

学一点Git--20分钟git快速上手

(图片已修复)在Git如日中天的今天,不懂git都不好意思跟人说自己是程序猿.你是不是早就跃跃欲试了,只是苦于没有借口(契机). 好吧,机会就在今天. 给我20分钟,是的,只要20分钟, 让你快速用上git. 我们废话不多说,直接来干货. 我们将会介绍以下几点: 一, 什么是git 二,使用git的一般开发流程 三,快速安装新建项目.holloworld. 开始: 一,什么是git. 阅读本文的前提是你知道或者用过至少一种源代码管理工具,比如:SVN, CVS 或者TFS等等. 你必须知道什么是