关于Html+css阶段学习总结
一、学习经历
进入大学不久,就加入了社团,从而对前端有了一个初步的了解,之后也做过一些学校的官网,积累了一些微小的经验。
到了大二的时候,学校开设了专门的html+css课程,从中也学到许多新的html,css知识,也学到了如何规范的编写代码。但由于个人的懒散,两年半的时间大多是浑浑噩噩的度过,到头来并未学到太多有深度的知识。
再之后,通过专业老师的指导,开始进行前端知识的全面及系统性的学习。而这篇文章便是对这次学习的一次阶段性总结。
二、学习感受
细枝末节,一点一滴的积累
听专业老师讲课,最明显的一点感受,就是他会提出一些特别的方法,用最简单的属性来实现你想要的效果。
例如 呼吸灯 案例。
在我看到这个案例时,第一想法当然是将 div 设置为 border-rudios:50% 的圆形容器,两个一嵌套,再通过animation 或 js 来控制动画就完事了。
<body>
<div class="container">
<!-- 正方形,呼吸灯的容器 -->
<div class="rec">
<div class="outer_circle">
<div class="inner_circle">
</div>
</div>
</div>
<!-- 数据信息显示 -->
<div class="info">
HI
</div>
</div>
</body>
然而,老师却提了一个问题,如何控制宽高相等?————当然是设定固定宽高了! 老师又问,有没有别的比较简单的方法呢?————当然是有的啊!老师这样问,那当然是有的吧:)然而我那榆木脑袋却是想不出个什么方案出来。
子元素对于父元素有继承关系,其宽度默认填充父元素宽度,此时,诺是将父元素设为正方形,使子元素高度为100%,那么子元素是不是必然也是一个正方形?再通过父元素的 padding 属性来控制子元素的大小,这样岂不是很方便?当然,前提得将 div 设置为 边框盒子(box-sizing:border-box)。
<style>
.container {
width: 230px;
height: 330px;
background-color: #343434;
margin: 0 auto;
}
.rec {
height: 230px;
box-sizing: border-box;/*边框盒子,外圆是被挤出的*/
padding: 34px;
}
.rec > .outer_circle {
box-sizing: border-box;
height: 100%;
border:6px solid #999;
border-radius: 50%;
padding: 10px;
}
.rec > .outer_circle > .inner_circle {
box-sizing: border-box;
height: 100%;
border:16px solid #fff;
border-radius: 50%;
}
.info {
color: #fff;
text-align: center;
padding: 1em 0;
}
</style>
原来 padding 还可以控制子元素的大小!在这之前,我仅用它进行定位而已。
后来,我又学到,在容器(边框盒子)宽度不固定时,如何使其成为一个正方形(在练习手机音乐播放界面时)。
width: 50%;
height: 0;
padding-bottom: 50%;
在父元素宽高不固定时,通过 padding-bottom 使得容器高度与宽度一致,从而制作成圆。
总结
如上所说的关于 padding 知识,都是对基本属性及知识点熟练掌握之后便可以较为容易想到的,可见那些基础知识点是多么的重要。
希望之后自己能多注重基础知识的积累,并将其融汇贯通。
html+css 的学习并不是太难,也可以说是很容易,但千里之行,这才刚刚开始,熟练的掌握 css,还需要不断的练习。
关于Html+css阶段学习总结的更多相关文章
- CSS项目学习总结
1.我过去在HTML和CSS阶段是如何学习的? 我一开始学HTML和CSS,更多的是通过看视频.书籍,一个知识点一个知识点地去学习,很少把他们串联起来,看代码多于敲代码. 然而,通过现在这几个项目的实 ...
- 2.Freshman阶段学习内容的确定
我刷知乎.在知乎上答题的程序员,不是很牛逼就是更牛逼,说起各种系统.各种系统的各种版本.各种语言.数据库.算法.IT届的各种圣战都有板有眼.信手拈来.头头是道,不得不服.这导致了一些非常严重的问题:我 ...
- 3.Freshman阶段学习内容的确定
我刷知乎.在知乎上答题的程序员,不是很牛逼就是更牛逼,说起各种系统.各种系统的各种版本.各种语言.数据库.算法.IT届的各种圣战都有板有眼.信手拈来.头头是道,不得不服.这导致了一些非常严重的问题:我 ...
- IT兄弟连 HTML5教程 HTML5的学习线路图 第一阶段学习网页制作
学习HTML5技术可并不是简单学会几个新增的标签而已,HTML5现在可以说是前端所有技术的代名词.需要学习的语言和工具不仅多,对于刚接触他们的新人会感觉很乱.另外,前端开发也会细分很多个开发岗位,不同 ...
- 分四个阶段学习python并找到一份好工作
第一阶段 关注公众号"轻松学编程"了解更多. 详细学习资料 需要时间一个月. 1.python概念 python是一种解释型.面向对象.动态数据类型的高级程序语言. 理解: ...
- CSS入门级学习
css入门学习1:认识CSS 1.1:css简介,css全称是层叠样式表,Cascading style sheets 1.2:css的作用,主要是用于定义html内容在浏览器内的显示样式,如文字大小 ...
- css居中学习笔记
css居中学习笔记 一.水平居中 以下面的代码为例: <body> <div class="parent"> <div class="chi ...
- HTML&CSS基础学习笔记—创建列表
创建一张表格 很多时候我们需要在网页上展示一些数据,使用表格可以很好的来展示数据. 在HTML中<table>标签定义 表格. <table> </table> 添 ...
- CSS 3 学习笔记
css 3 学习笔记 文本: word-wrap : normal | break-word取值:normal: 控制连续文本换行.break-word: 内容将在边界内换行.如果需要,词 ...
随机推荐
- SpringBoot中使用task实现定时任务
定时任务实现的几种方式: Timer:这是java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务.使用这种方式可以让你的程序按照某一个频度执行, ...
- 计算 $s=1+(1+2)+(1+2+3)+\cdots+(1+2+3+\cdots+n)$
#include<stdio.h> //编写一个程序,计算 s=1+(1+2)+(1+2+3)+...+(1+2+3+...+n) 的值,要求n从键盘输入. main() { int i, ...
- Java逆向工程(数据库表生成java类)
说起来倒是挺简单的,就是听着名字感觉挺高大上.逆向工程方式有很多,比如mybatis就提供了一个这样的工具mybatis-genderator,这个我反正是没用过只是听说过,以前在公司都是用公司写好的 ...
- 关于使用MyEclipse自动生成Hibernate和Struts出现的jar不兼容的问题(antlr.collections.AST.getLine()I)
今天做Hibernate和Struts2结合的练习,使用MyEclipse自动创建Hibernate和Struts的相关配置文件和jar包,写完一个查询方法后,准备测试一下结果,简单的查询那种,很诡异 ...
- [LC] 426. Convert Binary Search Tree to Sorted Doubly Linked List
Convert a BST to a sorted circular doubly-linked list in-place. Think of the left and right pointers ...
- 在mysql中生成数据库和数据表
#创建数据库CREATE DATABASE s4day65 DEFAULT CHARSET utf8; #班级表 CREATE TABLE class (id INT NOT NULL AUTO_IN ...
- Offer垂青于有准备的人——微软亚洲研究院实习生们的就业分享
编者按:一年一度的"求职大战"又拉开了序幕,如何在求职中掌握主动,更好地展现自己,最后抓住Offer?且听微软亚洲研究院三位实习生慢慢道来,Offer总会垂青于有准备的人. 廖振, ...
- verilog的function使用
语法: function [range] function_id; input_declaration other_declarations procedural_statement ...
- hosts原理及作用
https://blog.csdn.net/qq_41356488/article/details/82190372 手机也可以修改hosts,但是需要root权限,百度
- MySQL 之全文索引
最近在复习数据库索引部分,看到了 fulltext,也即全文索引,虽然全文索引在平时的业务中用到的不多,但是感觉它有点儿意思,所以花了点时间研究一下,特此记录. 引入概念通过数值比较.范围过滤等就可以 ...