{"product_id":"html-css-and-javascript-all-in-one-9780672338083","title":"HTML CSS and JavaScript All in One","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003e\u003cb\u003ePART I:  GETTING STARTED ON THE WEB\u003cbr\u003e\u003c\/b\u003e\u003cp\u003e\u003cb\u003eLesson 1:  Understanding How the Web Works     1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eA Brief History of HTML and the World Wide Web     2\u003cbr\u003eCreating Web Content     2\u003cbr\u003eUnderstanding Web Content Delivery     3\u003cbr\u003eSelecting a Web Hosting Provider     6\u003cbr\u003eTesting with Multiple Web Browsers and Devices     8\u003cbr\u003eCreating a Sample File     9\u003cbr\u003eUsing FTP to Transfer Files     10\u003cbr\u003eUnderstanding Where to Place Files on the Web Server     14\u003cbr\u003eDistributing Content Without a Web Server     17\u003cbr\u003eTips for Testing Web Content     18\u003cbr\u003eSummary     19\u003cbr\u003eQ\u0026amp;A     20\u003cbr\u003eWorkshop     20\u003cbr\u003eExercises     22\u003cbr\u003e\u003cb\u003eLesson 2:  Creating Web Content     2\u003c\/b\u003e\u003cbr\u003eGetting Prepared     24\u003cbr\u003eGetting Started with a Simple Web Page     25\u003cbr\u003eHTML Tags Every Web Page Must Have     28\u003cbr\u003eOrganizing a Page with Paragraphs and Line Breaks     31\u003cbr\u003eOrganizing Your Content with Headings     33\u003cbr\u003eUnderstanding Semantic Elements     36\u003cbr\u003eUsing  in Multiple Ways     42\u003cbr\u003eUnderstanding the  Element     44\u003cbr\u003eUsing      45\u003cbr\u003eImplementing the  Element     45\u003cbr\u003eWhen to Use      47\u003cbr\u003eUsing  Effectively     48\u003cbr\u003eSummary     49\u003cbr\u003eQ\u0026amp;A     50\u003cbr\u003eWorkshop     51\u003cbr\u003eExercises     53\u003cbr\u003e\u003cb\u003eLesson 3:  Understanding Cascading Style Sheets     55\u003c\/b\u003e\u003cbr\u003eHow CSS Works     56\u003cbr\u003eA Basic Style Sheet     57\u003cbr\u003eA CSS Style Primer     63\u003cbr\u003eUsing Style Classes     68\u003cbr\u003eUsing Style IDs     70\u003cbr\u003eInternal Style Sheets and Inline Styles     71\u003cbr\u003eSummary     74\u003cbr\u003eQ\u0026amp;A     75\u003cbr\u003eWorkshop     75\u003cbr\u003eExercises     77\u003cbr\u003e\u003cb\u003eLesson 4:  Understanding JavaScript     79\u003c\/b\u003e\u003cbr\u003eLearning Web Scripting Basics     80\u003cbr\u003eHow JavaScript Fits into a Web Page     81\u003cbr\u003eExploring JavaScript’s Capabilities     84\u003cbr\u003eDisplaying Time with JavaScript     85\u003cbr\u003eTesting the Script     89\u003cbr\u003eSummary     93\u003cbr\u003eQ\u0026amp;A     93\u003cbr\u003eWorkshop     94\u003cbr\u003eExercises     96\u003cbr\u003e\u003cb\u003eLesson 5:  Validating and Debugging Your Code     97\u003c\/b\u003e\u003cbr\u003eValidating Your Web Content     97\u003cbr\u003eDebugging HTML and CSS Using Developer Tools     99\u003cbr\u003eDebugging JavaScript Using Developer Tools     112\u003cbr\u003eSummary     118\u003cbr\u003eQ\u0026amp;A     118\u003cbr\u003eWorkshop     118\u003cbr\u003eExercises     120\u003cbr\u003e\u003cbr\u003e\u003cb\u003ePART II:  BUILDING BLOCKS OF PRACTICAL WEB DESIGN\u003cbr\u003eLesson 6:  Working with Fonts, Text Blocks, Lists, and Tables     121\u003c\/b\u003e\u003cbr\u003eWorking with Special Characters     122\u003cbr\u003eBoldface, Italic, and Special Text Formatting     126\u003cbr\u003eTweaking the Font     129\u003cbr\u003eUsing Web Fonts     133\u003cbr\u003eAligning Text on a Page     136\u003cbr\u003eThe Three Types of HTML Lists     139\u003cbr\u003ePlacing Lists Within Lists     142\u003cbr\u003eCreating a Simple Table     147\u003cbr\u003eControlling Table Sizes     151\u003cbr\u003eAlignment and Spanning Within Tables     154\u003cbr\u003ePage Layout with Tables     157\u003cbr\u003eUsing CSS Columns     158\u003cbr\u003eSummary     162\u003cbr\u003eQ\u0026amp;A     164\u003cbr\u003eWorkshop     165\u003cbr\u003eExercises     166\u003cbr\u003e\u003cb\u003eLesson 7:  Using External and Internal Links     167\u003c\/b\u003e\u003cbr\u003eUsing Web Addresses     167\u003cbr\u003eLinking Within a Page Using Anchors     170\u003cbr\u003eLinking Between Your Own Web Content     174\u003cbr\u003eLinking to Non-HTML Files     177\u003cbr\u003eLinking to External Web Content     178\u003cbr\u003eLinking to an Email Address     179\u003cbr\u003eOpening a Link in a New Browser Window     180\u003cbr\u003eGiving Titles to Links     181\u003cbr\u003eUsing CSS to Style Hyperlinks     182\u003cbr\u003eUsing Links Effectively     186\u003cbr\u003eSummary     187\u003cbr\u003eQ\u0026amp;A     188\u003cbr\u003eWorkshop     189\u003cbr\u003eExercises     190\u003cbr\u003e\u003cb\u003eLesson 8:  Working with Colors, Images, and Multimedia     191\u003c\/b\u003e\u003cbr\u003eBest Practices for Choosing Colors     192\u003cbr\u003eUnderstanding Web Colors     194\u003cbr\u003eUsing Hexadecimal Values for Colors     196\u003cbr\u003eUsing RGB and RGBa Values for Colors     197\u003cbr\u003eUsing CSS to Set Background, Text, and Border Colors     199\u003cbr\u003eChoosing Graphics Software     201\u003cbr\u003eThe Least You Need to Know About Graphics     202\u003cbr\u003ePreparing Photographic Images     203\u003cbr\u003eCreating Banners and Buttons     210\u003cbr\u003eOptimizing Images by Reducing or Removing Colors     211\u003cbr\u003eCreating Tiled Background Images     212\u003cbr\u003ePlacing Images on a Web Page     214\u003cbr\u003eDescribing Images with Text     217\u003cbr\u003eSpecifying Image Height and Width     218\u003cbr\u003eAligning Images     219\u003cbr\u003eTurning Images into Links     223\u003cbr\u003eUsing Background Images226\u003cbr\u003eUsing Image Maps     227\u003cbr\u003eLinking to Multimedia Files     233\u003cbr\u003eEmbedding Multimedia Files     237\u003cbr\u003eAdditional Tips for Using Multimedia     242\u003cbr\u003eSummary     242\u003cbr\u003eQ\u0026amp;A     245\u003cbr\u003eWorkshop     246\u003cbr\u003eExercises     248\u003cbr\u003e\u003cbr\u003e\u003cb\u003ePART III:  ADVANCED WEB PAGE DESIGN WITH CSS\u003cbr\u003eLesson 9:  Working with Margins, Padding, Alignment, and Floating     249\u003c\/b\u003e\u003cbr\u003eUsing Margins     249\u003cbr\u003ePadding Elements     257\u003cbr\u003eKeeping Everything Aligned     261\u003cbr\u003eCentering Blocks of Content     262\u003cbr\u003eUnderstanding the float Property     263\u003cbr\u003eSummary     267\u003cbr\u003eQ\u0026amp;A     267\u003cbr\u003eWorkshop     267\u003cbr\u003eExercises     270\u003cbr\u003e\u003cb\u003eLesson 10:  Understanding the CSS Box Model and Positioning     271\u003c\/b\u003e\u003cbr\u003eThe CSS Box Model     271\u003cbr\u003eChanging the Box Model     275\u003cbr\u003eThe Whole Scoop on Positioning     276\u003cbr\u003eControlling the Way Things Stack Up     281\u003cbr\u003eManaging the Flow of Text     284\u003cbr\u003eSummary     285\u003cbr\u003eQ\u0026amp;A     285\u003cbr\u003eWorkshop     286\u003cbr\u003eExercises     288\u003cbr\u003e\u003cb\u003eLesson 11:  Using CSS to Do More with Lists, Text, and Navigation     289\u003c\/b\u003e\u003cbr\u003eHTML List Refresher     290\u003cbr\u003eHow the CSS Box Model Affects Lists     290\u003cbr\u003ePlacing List Item Indicators     294\u003cbr\u003eCreating Image Maps with List Items and CSS     296\u003cbr\u003eHow Navigation Lists Differ from Regular Lists     299\u003cbr\u003eCreating Vertical Navigation with CSS     300\u003cbr\u003eCreating Horizontal Navigation with CSS     310\u003cbr\u003eSummary     314\u003cbr\u003eQ\u0026amp;A     314\u003cbr\u003eWorkshop     315\u003cbr\u003eExercises     316\u003cbr\u003e\u003cb\u003eLesson 12:  Creating Layouts Using Modern CSS Techniques     317\u003c\/b\u003e\u003cbr\u003eGetting Ready to Do Page Layout     318\u003cbr\u003eThe Importance of Putting Mobile Devices First     319\u003cbr\u003eUnderstanding Fixed Layouts     319\u003cbr\u003eUnderstanding Liquid Layouts     322\u003cbr\u003eCreating a Fixed\/Liquid Hybrid Layout     324\u003cbr\u003eUsing Modern CSS Layout Techniques     335\u003cbr\u003eSummary     349\u003cbr\u003eQ\u0026amp;A     350\u003cbr\u003eWorkshop     350\u003cbr\u003eExercises     352\u003cbr\u003e\u003cb\u003eLesson 13:  Taking Control of Backgrounds and Borders     353\u003c\/b\u003e\u003cbr\u003eReviewing Background and Border Basics     353\u003cbr\u003eUsing Multiple Borders and Backgrounds     355\u003cbr\u003eUsing Forgotten Background Properties     359\u003cbr\u003eUsing Gradients as Backgrounds     365\u003cbr\u003eRounding the Corners of HTML Elements     371\u003cbr\u003eUsing Images as Borders     373\u003cbr\u003eUnderstanding CSS Outlines     378\u003cbr\u003eSummary     379\u003cbr\u003eQ\u0026amp;A     379\u003cbr\u003eWorkshop     379\u003cbr\u003eExercises     381\u003cbr\u003e\u003cb\u003eLesson 14:  Using CSS Transformations and Transitions     383\u003c\/b\u003e\u003cbr\u003eUnderstanding CSS 2D Transformations     383\u003cbr\u003eTransforming Elements in Three Dimensions     392\u003cbr\u003eWorking with CSS Transitions     393\u003cbr\u003eUsing JavaScript to Trigger Transitions     397\u003cbr\u003eSummary     398\u003cbr\u003eQ\u0026amp;A     399\u003cbr\u003eWorkshop     399\u003cbr\u003eExercises     400\u003cbr\u003e\u003cb\u003eLesson 15:  Animating with CSS and the Canvas     401\u003c\/b\u003e\u003cbr\u003eUnderstanding CSS Animation     401\u003cbr\u003eUsing the CSS Canvas     410\u003cbr\u003eChoosing Between CSS Animation and Canvas Animation     423\u003cbr\u003eSummary     424\u003cbr\u003eQ\u0026amp;A     424\u003cbr\u003eWorkshop     424\u003cbr\u003eExercises     426\u003cbr\u003e\u003cbr\u003e\u003cb\u003ePART IV:  RESPONSIVE WEB DESIGN\u003cbr\u003eLesson 16:  Understanding the Importance of Responsive Web Design     427\u003c\/b\u003e\u003cbr\u003eWhat Is Responsive Web Design?     427\u003cbr\u003eWhat Is Progressive Enhancement?     431\u003cbr\u003eWriting HTML for Responsive Web Design     435\u003cbr\u003eValidating HTML, CSS, and JavaScript     438\u003cbr\u003eSummary     439\u003cbr\u003eQ\u0026amp;A     440\u003cbr\u003eWorkshop     440\u003cbr\u003eExercises     442\u003cbr\u003e\u003cb\u003eLesson 17:  Designing for Mobile Devices     443\u003c\/b\u003e\u003cbr\u003eDesigning for Mobile Devices     443\u003cbr\u003eUnderstanding Mobile First Design     451\u003cbr\u003eUsing Responsive Tables and Images     455\u003cbr\u003eCreating Responsive Layouts Without Media Queries     464\u003cbr\u003eAlternatives for Mobile Design Besides RWD     466\u003cbr\u003eSummary     468\u003cbr\u003eQ\u0026amp;A     469\u003cbr\u003eWorkshop     469\u003cbr\u003eExercise     470\u003cbr\u003e\u003cb\u003eLesson 18:  Using Media Queries and Breakpoints     471\u003c\/b\u003e\u003cbr\u003eWhat Is a Media Query?     471\u003cbr\u003eUsing Media Query Expressions     476\u003cbr\u003eWhat Is a Breakpoint?     477\u003cbr\u003eHow to Define Breakpoints in Your CSS     477\u003cbr\u003eOptimal Breakpoints     483\u003cbr\u003eSummary     484\u003cbr\u003eQ\u0026amp;A     484\u003cbr\u003eWorkshop     485\u003cbr\u003eExercises     486\u003cbr\u003e\u003cbr\u003e\u003cb\u003ePART V:  GETTING STARTED WITH DYNAMIC SITES\u003cbr\u003eLesson 19:  Understanding Dynamic Websites and HTML5 Applications     487\u003c\/b\u003e\u003cbr\u003eUnderstanding the Different Types of Scripting     487\u003cbr\u003eIncluding JavaScript in HTML     488\u003cbr\u003eDisplaying Random Content     491\u003cbr\u003eUnderstanding the Document Object Model     495\u003cbr\u003eChanging Images Based on User Interaction     498\u003cbr\u003eThinking Ahead to Developing HTML5 Applications     501\u003cbr\u003eSummary     501\u003cbr\u003eQ\u0026amp;A     502\u003cbr\u003eWorkshop     502\u003cbr\u003eExercises     506\u003cbr\u003e\u003cb\u003eLesson 20:  Getting Started with JavaScript Programming     507\u003c\/b\u003e\u003cbr\u003eBasic Concepts     507\u003cbr\u003eJavaScript Syntax Rules     514\u003cbr\u003eUsing Comments     515\u003cbr\u003eBest Practices for JavaScript     516\u003cbr\u003eUnderstanding JSON     517\u003cbr\u003eSummary     518\u003cbr\u003eQ\u0026amp;A     518\u003cbr\u003eWorkshop     519\u003cbr\u003eExercises     522\u003cbr\u003e\u003cb\u003eLesson 21:  Working with the Document Object Model (DOM)     523\u003c\/b\u003e\u003cbr\u003eUnderstanding the Document Object Model     523\u003cbr\u003eUsing window Objects     524\u003cbr\u003eWorking with the document Object     525\u003cbr\u003eAccessing Browser History     528\u003cbr\u003eWorking with the location Object     530\u003cbr\u003eMore About the DOM Structure     531\u003cbr\u003eWorking with DOM Nodes     534\u003cbr\u003eCreating Positionable Elements (Layers)     536\u003cbr\u003eHiding and Showing Objects     541\u003cbr\u003eModifying Text in a Page     543\u003cbr\u003eAdding Text to a Page     545\u003cbr\u003eSummary     547\u003cbr\u003eQ\u0026amp;A     547\u003cbr\u003eWorkshop     548\u003cbr\u003eExercises     550\u003cbr\u003e\u003cb\u003eLesson 22:  Using JavaScript Variables, Strings, and Arrays     551\u003c\/b\u003e\u003cbr\u003eUsing Variables     552\u003cbr\u003eUnderstanding Expressions and Operators     555\u003cbr\u003eData Types in JavaScript     556\u003cbr\u003eConverting Between Data Types     557\u003cbr\u003eUsing String Objects     558\u003cbr\u003eWorking with Substrings     562\u003cbr\u003eUsing Numeric Arrays     564\u003cbr\u003eUsing String Arrays     565\u003cbr\u003eSorting a Numeric Array     567\u003cbr\u003eUsing Functions     570\u003cbr\u003eIntroducing Objects     575\u003cbr\u003eUsing Objects to Simplify Scripting     577\u003cbr\u003eExtending Built-in Objects     582\u003cbr\u003eUsing the Math Object     583\u003cbr\u003eWorking with Math Methods     585\u003cbr\u003eWorking with Dates     587\u003cbr\u003eSummary     590\u003cbr\u003eQ\u0026amp;A     590\u003cbr\u003eWorkshop     591\u003cbr\u003eExercises     594\u003cbr\u003e\u003cb\u003eLesson 23:  Controlling Flow with Conditions and Loops     595\u003c\/b\u003e\u003cbr\u003eThe if Statement     595\u003cbr\u003eUsing Shorthand Conditional Expressions     599\u003cbr\u003eTesting Multiple Conditions with if and else     600\u003cbr\u003eUsing Multiple Conditions with switch     602\u003cbr\u003eUsing for Loops     604\u003cbr\u003eUsing while Loops     606\u003cbr\u003eUsing do...while Loops     607\u003cbr\u003eWorking with Loops     607\u003cbr\u003eLooping Through Object Properties     609\u003cbr\u003eSummary     612\u003cbr\u003eQ\u0026amp;A     612\u003cbr\u003eWorkshop     613\u003cbr\u003eExercises     615\u003cbr\u003e\u003cb\u003eLesson 24:  Responding to Events and Using Windows     617\u003c\/b\u003e\u003cbr\u003eUnderstanding Event Handlers     618\u003cbr\u003eUsing Mouse Events     623\u003cbr\u003eUsing Keyboard Events     627\u003cbr\u003eUsing the load and unload Events     630\u003cbr\u003eUsing click to Change the Appearance of a \u003c\/b\u003e\u003c\/p\u003e\u003cb\u003e     631\u003cbr\u003eControlling Windows with Objects     638\u003cbr\u003eMoving and Resizing Windows     643\u003cbr\u003eUsing Timeouts     645\u003cbr\u003eDisplaying Dialog Boxes     648\u003cbr\u003eSummary     650\u003cbr\u003eQ\u0026amp;A     650\u003cbr\u003eWorkshop     651\u003cbr\u003eExercises     654\u003cb\u003e\u003cbr\u003e\u003c\/b\u003e\u003cb\u003eLesson 25:  JavaScript Best Practices     655\u003c\/b\u003e\u003cbr\u003eScripting Best Practices     655\u003cbr\u003eReading Browser Information     666\u003cbr\u003eCross-Browser Scripting     669\u003cbr\u003eSupporting Non-JavaScript-Enabled Browsers     671\u003cbr\u003eCreating an Unobtrusive Script     674\u003cbr\u003eSummary     677\u003cbr\u003eQ\u0026amp;A     677\u003cbr\u003eWorkshop     677\u003cbr\u003eExercises     680\u003cbr\u003e\u003cb\u003eLesson 26:  Using Third-Party JavaScript Libraries and Frameworks     681\u003c\/b\u003e\u003cbr\u003eUsing Third-Party JavaScript Libraries     681\u003cbr\u003eAdding JavaScript Effects by Using a Third-Party Library     686\u003cbr\u003eUsing JavaScript Frameworks     689\u003cbr\u003eSummary     691\u003cbr\u003eQ\u0026amp;A     691\u003cbr\u003eWorkshop     692\u003cbr\u003eExercises     694\u003cbr\u003e\u003cbr\u003e\u003cb\u003ePART VI:  ADVANCED WEBSITE FUNCTIONALITY AND MANAGEMENT\u003cbr\u003eLesson 27:  Working with Web-Based Forms     695\u003c\/b\u003e\u003cbr\u003eHow HTML Forms Work     695\u003cbr\u003eCreating a Form     696\u003cbr\u003eAccepting Text Input     702\u003cbr\u003eNaming Each Piece of Form Data     703\u003cbr\u003eLabeling Each Piece of Form Data     703\u003cbr\u003eGrouping Form Elements     705\u003cbr\u003eExploring Form Input Controls     706\u003cbr\u003eUsing HTML5 Form Validation     716\u003cbr\u003eSubmitting Form Data     718\u003cbr\u003eAccessing Form Elements with JavaScript     720\u003cbr\u003eSummary     723\u003cbr\u003eQ\u0026amp;A     725\u003cbr\u003eWorkshop     725\u003cbr\u003eExercises     728\u003cbr\u003e\u003cb\u003eLesson 28:  Organizing and Managing a Website     729\u003c\/b\u003e\u003cbr\u003eWhen One Page Is Enough     730\u003cbr\u003eOrganizing a Simple Site     732\u003cbr\u003eOrganizing a Larger Site     735\u003cbr\u003eOptimizing Your Site for Search Engines     738\u003cbr\u003eWriting Maintainable Code     740\u003cbr\u003eThinking About Version Control     743\u003cbr\u003eUsing HTML and CSS Frameworks     745\u003cbr\u003eSummary     746\u003cbr\u003eQ\u0026amp;A     746\u003cbr\u003eWorkshop     747\u003cbr\u003eExercises     750\u003cbr\u003e\u003cb\u003eIndex     751\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e\u003c\/b\u003e","brand":"Pearson Education (US)","offers":[{"title":"Default Title","offer_id":48865473298775,"sku":"9780672338083","price":26.09,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9780672338083.jpg?v=1722274134","url":"https:\/\/bookcurl.com\/products\/html-css-and-javascript-all-in-one-9780672338083","provider":"Book Curl","version":"1.0","type":"link"}