国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

如何使用Flexbox構建新聞站點布局_html/css_WEB-ITnose

來源:懂視網 責編:小采 時間:2020-11-27 16:40:55
文檔

如何使用Flexbox構建新聞站點布局_html/css_WEB-ITnose

如何使用Flexbox構建新聞站點布局_html/css_WEB-ITnose:英文原文: http://webdesign.tutsplus.com/tutorials/how-to-build-a-news-website-layout-with-flexbox--cms-26611 Its not necessary to understand every aspect of Flexbox before you
推薦度:
導讀如何使用Flexbox構建新聞站點布局_html/css_WEB-ITnose:英文原文: http://webdesign.tutsplus.com/tutorials/how-to-build-a-news-website-layout-with-flexbox--cms-26611 Its not necessary to understand every aspect of Flexbox before you
英文原文: http://webdesign.tutsplus.com/tutorials/how-to-build-a-news-website-layout-with-flexbox--cms-26611

It’s not necessary to understand every aspect of Flexbox before you can jump in and get started. In this tutorial, we’re going to introduce a few features of Flexbox whilst designing a “news layout” like the one you can find on The Guardian .

The reason we’re using Flexbox is that it provides very powerful features:

  • we can easily make responsive columns
  • we can make columns of equal height
  • we can push content to the bottom of a container
  • So let’s get started!

    1. Start with Two Columns

    Creating columns in CSS has always been a challenge. For a long time, the only options were to use floats or tables, but they both had their own issues.

    Flexbox makes the process easier, giving us:

  • cleaner code : we only need a container with display: flex
  • no need to clear floats, preventing unexpected layout behavior
  • semantic markup
  • flexibility : we can resize, stretch, align the columns in a few lines of CSS
  • Let’s start by making two columns; one that’s 2/3 of the width of our container, and one that’s 1/3.

     2/3 column 1/3 column 

    There are two elements here:

  • the columns container
  • two column children, one with an additional class of main-column which we’ll use to make it wider
  • .columns { display: flex;}.column { flex: 1;}.main-column { flex: 2;}

    As the main column has a flex value of 2, it will take up twice as much space as the other column.

    By adding some additional visual styles, here’s what we get:

    2. Make Each Column a Flexbox Container

    Each of these two columns will contain several articles stacked vertically, so we’re going to turn the column elements into Flexbox containers too. We want:

  • the articles to be stacked vertically
  • the articles to stretch and fill the available space
  • .column { display: flex; flex-direction: column; /* Makes the articles stacked vertically */}.article { flex: 1; /* Stretches the articles to fill up the remaining space */}

    The flex-direction: column rule on the container, combined with the flex: 1 rule on the children ensures that the articles will fill up the whole vertical space, keeping our first two columns the same height.

    3. Make Each Article a Flexbox Container

    Now, to give us extra control, let’s turn each article into a Flexbox container too. Each of them will contain:

  • a title
  • a paragraph
  • an information bar with the author and the number of comments
  • an optional responsive image
  • We’re using Flexbox here in order to “push” the information bar to the bottom. As a reminder, this is the article layout we’re aiming for:

    Here’s the code:

     

    .article { display: flex; flex-direction: column; flex-basis: auto; /* sets initial element size based on its contents */}.article-body { display: flex; flex: 1; flex-direction: column;}.article-content { flex: 1; /* This will make the content fill up the remaining space, and thus push the information bar at the bottom */}

    The article’s elements are laid out vertically thanks to the flex-direction: column; rule.

    We apply flex: 1 to the article-content element so that it fills up the empty space, and “pushes” the article-info to the bottom, no matter the height of the columns.

    4. Add Some Nested Columns

    In the left column, what we actually want is another set of columns. So we’re going to replace the second article with the same columns container we’ve already used.

     

    As we want the first nested column to be wider, we’re adding a nested-column class with the additional style:

    .nested-column { flex: 2;}

    This will make our new column twice as wide as the other.

    5. Give the First Article a Horizontal Layout

    The first article is really big. To optimize the use of space, let’s switch its layout to be horizontal.

    .first-article { flex-direction: row;}.first-article .article-body { flex: 1;}.first-article .article-image { height: 300px; order: 2; padding-top: 0; width: 400px;}

    The order property is very useful here, as it allows us to alter the order of HTML elements without affecting the HTML markup. The article-image actually comes before the article-body in the markup, but it will behave as if it comes after.

    6. Make the Layout Responsive

    This is all looking just as we want, though it’s a bit squished. Let’s fix that by going responsive.

    One great feature of Flexbox is that you need only remove the display: flex rule on the container to disable Flexbox completely, while keeping all the other Flexbox properties (such as align-items or flex) valid.

    As a result, you can trigger a “responsive” layout by enabling Flexbox only above a certain breakpoint.

    We’re going to remove display: flex from both the .columns and .column selectors, instead wrapping them in a media query:

    @media screen and (min-width: 800px) { .columns, .column { display: flex; }}

    That’s it! On smaller screens, all the articles will be on top of each other. Above 800px, they will be laid out in two columns.

    7. Add Finishing Touches

    To make the layout more appealing on larger screens, let’s add some CSS tweaks:

    @media screen and (min-width: 1000px) { .first-article { flex-direction: row; } .first-article .article-body { flex: 1; } .first-article .article-image { height: 300px; order: 2; padding-top: 0; width: 400px; } .main-column { flex: 3; } .nested-column { flex: 2; }}

    The first article has its content laid out horizontally, with the text on the left and the image on the right. Also, the main column is now wider (75%) and the nested column too (66%). Here’s the final result!

    Conclusion

    I hope I’ve shown you that you needn’t understand every aspect of Flexbox to jump in and start using it! This responsive news layout is a really useful pattern; pull it apart, play with it, let us know how you get on!

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    如何使用Flexbox構建新聞站點布局_html/css_WEB-ITnose

    如何使用Flexbox構建新聞站點布局_html/css_WEB-ITnose:英文原文: http://webdesign.tutsplus.com/tutorials/how-to-build-a-news-website-layout-with-flexbox--cms-26611 Its not necessary to understand every aspect of Flexbox before you
    推薦度:
    標簽: 如何用 flex it
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 日韩在线激情 | 国产精品久久久久影院 | 国产精品一区二区四区 | 亚洲视频一区在线 | 中文字幕 日韩有码 | 最新国产小视频在线播放 | 亚洲精品免费在线观看 | 欧美高清一区二区三区欧美 | 日韩亚射 | 日韩a无v码在线播放免费 | 欧美日韩大尺码免费专区 | 久久国内 | 久久91精品国产91 | 国产在线精品一区二区 | 成人a免费视频播放 | 精品日韩欧美一区二区三区 | 午夜看一级特黄a大片黑 | 亚洲va国产va欧美va综合 | 日韩综合区 | 国产高清视频在线观看 | 欧美在线中文 | 91一区二区三区 | 欧美日韩精品在线 | 中文字幕第七页 | 国产原创91 | 精品国产免费一区二区三区五区 | 国产一区不卡 | 亚洲精品98久久久久久中文字幕 | 欧美日本中文字幕 | 小说区 亚洲 自拍 另类 | 国产激情一区二区三区成人91 | 日本不卡一二三区 | 国产成人精品一区二区免费 | 羞羞网站在线观看 | 免费国产成人α片 | 亚洲 欧美 手机 在线观看 | 精品日韩一区二区三区 | 精品国产一区二区三区久久久狼 | 国产va免费精品观看 | 亚洲第一视频网 | 亚洲欧美综合区自拍另类 |