<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: zhangbao</title>
    <description>The latest articles on DEV Community by zhangbao (@baooab).</description>
    <link>https://dev.to/baooab</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F55835%2F33c82225-dedc-420b-ad0c-23d3d491072d.jpeg</url>
      <title>DEV Community: zhangbao</title>
      <link>https://dev.to/baooab</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/baooab"/>
    <language>en</language>
    <item>
      <title>What is display: flow-root?</title>
      <dc:creator>zhangbao</dc:creator>
      <pubDate>Thu, 26 Dec 2019 09:20:48 +0000</pubDate>
      <link>https://dev.to/baooab/what-is-display-flow-root-28ph</link>
      <guid>https://dev.to/baooab/what-is-display-flow-root-28ph</guid>
      <description>&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display#Syntax"&gt;MDN says&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;display: flow-root&lt;/code&gt;: The element generates a &lt;strong&gt;block element box&lt;/strong&gt; that establishes a &lt;strong&gt;new block formatting context&lt;/strong&gt;, defining where the formatting root lies.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So, using &lt;code&gt;display: flow-root&lt;/code&gt; means&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;you don't have to use &lt;code&gt;.clearfix&lt;/code&gt; hacks, and&lt;/li&gt;
&lt;li&gt;won't hide &lt;code&gt;box-shadow&lt;/code&gt; comparing to use &lt;code&gt;overflow: hidden&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/zhangbao/embed/ZEYyjyd?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;References:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://css-tricks.com/display-flow-root/"&gt;display: flow-root&lt;/a&gt;, from CSS-Tricks&lt;/li&gt;
&lt;li&gt;&lt;a href="https://codepen.io/thierry/pen/GrvWNM"&gt;display: flow-root versus clearfix&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>css</category>
    </item>
    <item>
      <title>What does CSS property pointer-events mean</title>
      <dc:creator>zhangbao</dc:creator>
      <pubDate>Wed, 25 Dec 2019 07:27:38 +0000</pubDate>
      <link>https://dev.to/baooab/what-does-css-property-pointer-events-mean-26j8</link>
      <guid>https://dev.to/baooab/what-does-css-property-pointer-events-mean-26j8</guid>
      <description>&lt;p&gt;The CSS property &lt;code&gt;pointer-events&lt;/code&gt; means weather a element should react to Pointer events.&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/baooab" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sntjsjXd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--FN1rnwal--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/55835/33c82225-dedc-420b-ad0c-23d3d491072d.jpeg" alt="baooab"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/baooab/what-is-pointer-events-in-javascript-17jh" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;What is Pointer Events in JavaScript&lt;/h2&gt;
      &lt;h3&gt;zhangbao ・ Dec 25 '19&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#javascript&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;If you use &lt;code&gt;pointer-events: none&lt;/code&gt;, you'll find &lt;strong&gt;the element does't react to any Mouse and Touch events&lt;/strong&gt;.A bit like it doesn't exist in the document.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/zhangbao/embed/QWwgdgz?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Read More:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events"&gt;pointer-events&lt;/a&gt;, from MDN&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>css</category>
    </item>
    <item>
      <title>What is Pointer Events in JavaScript</title>
      <dc:creator>zhangbao</dc:creator>
      <pubDate>Wed, 25 Dec 2019 04:14:52 +0000</pubDate>
      <link>https://dev.to/baooab/what-is-pointer-events-in-javascript-17jh</link>
      <guid>https://dev.to/baooab/what-is-pointer-events-in-javascript-17jh</guid>
      <description>&lt;p&gt;Roughly, You can think Pointer Events as a combination of Mouse and Touch events.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;mousedown&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// do something on mousedown&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;touchstart&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// do something on touchstart&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;same as below&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;pointerdown&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// do something on mousedown or touchstart&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Reference: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/pfacklam/consistent-access-to-browser-events-with-pointer-events-api-5gh4"&gt;Consistent access to browser events with Pointer Events API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Read more:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mobiforge.com/design-development/html5-pointer-events-api-combining-touch-mouse-and-pen"&gt;The HTML5 Pointer Events API: Combining touch, mouse, and pen&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>javascript</category>
    </item>
  </channel>
</rss>
