This summe开发者_开发知识库r I'm helping a doctor create an online brain atlas to store some of his data. He told me to have learned a decent amount of html web programming by the end of the summer and to choose a book that he will order for me. I've done some research and it seems like you have to use CSS along with html to build a website, is that right? I have nearly no other programming experience by the way.
Thanks a Lot
Yes, CSS is what styles the web. HTML is what defines the structure.
You can read books, but nothing will help you as much as experience. I have tried to read books, but they don't help me at all. Building little test websites which perform a single function (like a block-based layout, or a three column layout, etc.) helped me learn CSS and HTML.
Play around with HTML and CSS. You can't learn without experience.
I would checkout Head First HTML with CSS & XHTML. It has great reviews on Amazon and the Head First book series are really terrific and engaging.
w3schools has a lot of basic tutorials on the most common web technologies. I would suggest starting there for introductions. A lot of these technologies are so dependent on one another that you can't really just learn a single technology without coming into contact with others.
That said, you should get an understanding of HTML before starting anything. IMHO, it is inneffective to read from a book, then with that knowledge, try to create something. Start your project with whatever understanding you have... It will be hard. But you've got the entire internet at your disposal (which introduces/links you to a lot of useful information in a connected way (more so than a book)). Learning as you go is good because you'll learn exactly what you need, nothing more. Be prepared for a lot of going back and improving.
I learned from the web, not a book, so I can't help you there. Good luck!
I think a good intro to web dev class has to give the student a basic understanding of:
- Validated semantic HTML
- CSS selectors
- CSS properties
- JavaScript as an object oriented language with first-class functions
- The Document Object Model
- JavaScript/DOM events
- HTTP protocol
- The difference between HTTP methods (GET is safe etc...)
- Dynamic web sites (CGI or something similar)
- XSRF and XSS attacks - since they are the most basic and common attacks on the web and no web developer should not know about them.
So here are the books I've found helpful for each of those topics:
- Refactoring HTML by Elliotte Rusty Harold (extra points for being Martin Fowler series! http://martinfowler.com/books.html#refactoringHtml )
- CSS in Easy Steps by Mike McGrath (http://www.ineasysteps.com/books/details/?184078301x )
- Learning JavaScript (O'Reilly Media http://oreilly.com/catalog/9780596527464 - other people seem to think low of this book but it taught me everything I know)
- Programming PHP by Rasmus Lerdorf, Kevin Tatroe and Peter MacIntyre - specifically Chapter 7: Web Techniques (O'Reilly Media http://oreilly.com/catalog/9781565926103 )
- Essential PHP Security by Chris Shiflett (O'Reilly Media http://oreilly.com/catalog/9780596006563/ )
It should be noted that two of these books are about PHP. PHP is not a necessity for understanding web development - there are many other alternative server-side technologies which are just as good.
However, those books have good chapters on more general web concepts (such as HTTP and XSS etc...) hence why they're on my list for general web dev.
You don't need to learn CSS along with HTML however your markup will be unstyled without it.
You can put inline style attributes on your element tags like so
<span style="color: red; width: 100px; background-color: blue;">
This is the span text
</span>
however for anything non trivial, you will almost certainly want to utilize external CSS style sheets for styling, allowing you to apply styles in a uniform fashion
精彩评论