{"id":1534,"date":"2014-08-25T19:39:02","date_gmt":"2014-08-25T18:39:02","guid":{"rendered":"http:\/\/denbeke.be\/blog\/?p=1534"},"modified":"2014-08-25T19:39:02","modified_gmt":"2014-08-25T18:39:02","slug":"css-simpele-popover-zonder-javascript","status":"publish","type":"post","link":"https:\/\/denbeke.be\/blog\/webdevelopment\/css-simpele-popover-zonder-javascript\/","title":{"rendered":"CSS: Simpele popover zonder javascript"},"content":{"rendered":"<p>Een eenvoudig popover maken voor een website is niet moeilijk. Hier een CSS\/HTML voorbeeld om duidelijk te maken hoe eenvoudig het is.<\/p>\n<p>&nbsp;<\/p>\n<h2>HTML<\/h2>\n<p>De HTML code voor het voorbeeld is triviaal: we hebben een container class, deze bevat het item waarover de cursor moet gaan om de popover te doen verschijnen.<\/p>\n<pre><code>&lt;div class=\"container\"&gt;\r\n\r\n    &lt;div class=\"item\"&gt;&lt;\/div&gt;\r\n\r\n    &lt;div class=\"popover\"&gt;&lt;\/div&gt;\r\n\r\n&lt;\/div&gt;<\/code><\/pre>\n<p>&nbsp;<\/p>\n<h2>CSS<\/h2>\n<p>De container hoeft eigenlijk geen stijl mee te krijgen, maar het ligt het meest voor de hand om deze dezelfde grootte te geven als het element dat de popover moet doen verschijnen.<\/p>\n<p>De popover krijgt zelf <code>display: none;<\/code> mee: da&#8217;s triviaal. Daarnaast moet de <code>position<\/code> ook <code>absolute<\/code> zijn. Anders zal het verschijnen van de popover de hele pagina layout in de soep doen draaien. Als deze op <code>absolute<\/code> staat, komt het gewoon boven de andere elementen.<\/p>\n<p>De popover zal verschijnen wanneer men met de muis over de container hovert, door de <code>display: block<\/code>.<br \/>\nHet kan allemaal wat meer fancy gemaakt worden door met CSS transitions te spelen.<\/p>\n<pre><code>.container {\r\n\twidth: 30px;\r\n\theight: 30px;\r\n\tmargin: auto;\r\n}\r\n\r\n.item {\r\n\tbackground-color: red;\r\n\twidth: 30px;\r\n\theight: 30px;\r\n}\r\n\r\n.popover {\r\n\tbackground-color: green;\r\n\twidth: 300px;\r\n\theight: 200px;\r\n\r\n\tposition: absolute;\r\n\tdisplay: none;\r\n\r\n\t\/* Position popover horizontally in middle        *\/\r\n\t\/* The same can be done for the vertical position *\/\r\n\tmargin-left: -135px \/* = -300\/2 +30\/2 *\/;\r\n}\r\n\r\n.container:hover .popover {\r\n\tdisplay: block;\r\n}<\/code><\/pre>\n<p>Om tot slot de popover in het midden te krijgen, zal er wat gespeeld moeten worden met negative <code>margin<\/code>.<\/p>\n<p>&nbsp;<\/p>\n<h2>Voorbeeld<\/h2>\n<p><em>Ga met de muis over het rode vlak, en je zal zien dat de groene popover verschijnt&#8230;<\/em><\/p>\n<p><iframe style=\"overflow: hidden;\" src=\"http:\/\/denbeke.be\/code\/simple_popover\/popover.html\" height=\"250\" width=\"100%\" scrolling=\"no\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Een eenvoudig popover maken voor een website is niet moeilijk. Hier een CSS\/HTML voorbeeld om duidelijk te maken hoe eenvoudig het is. &nbsp; HTML De HTML code voor het voorbeeld is triviaal: we hebben een container class, deze bevat het item waarover de cursor moet gaan om de popover te doen verschijnen. &lt;div class=&#8221;container&#8221;&gt; &lt;div [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[122,112],"tags":[58,72],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v15.6.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>CSS: Simpele popover zonder javascript &ndash; DenBeke<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/denbeke.be\/blog\/webdevelopment\/css-simpele-popover-zonder-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CSS: Simpele popover zonder javascript &ndash; DenBeke\" \/>\n<meta property=\"og:description\" content=\"Een eenvoudig popover maken voor een website is niet moeilijk. Hier een CSS\/HTML voorbeeld om duidelijk te maken hoe eenvoudig het is. &nbsp; HTML De HTML code voor het voorbeeld is triviaal: we hebben een container class, deze bevat het item waarover de cursor moet gaan om de popover te doen verschijnen. &lt;div class=&quot;container&quot;&gt; &lt;div [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/denbeke.be\/blog\/webdevelopment\/css-simpele-popover-zonder-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"DenBeke\" \/>\n<meta property=\"article:published_time\" content=\"2014-08-25T18:39:02+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary\" \/>\n<meta name=\"twitter:creator\" content=\"@MthsBk\" \/>\n<meta name=\"twitter:site\" content=\"@MthsBk\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\">\n\t<meta name=\"twitter:data1\" content=\"1 minute\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/denbeke.be\/blog\/#website\",\"url\":\"https:\/\/denbeke.be\/blog\/\",\"name\":\"DenBeke\",\"description\":\"Mathias Beke\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/denbeke.be\/blog\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/denbeke.be\/blog\/webdevelopment\/css-simpele-popover-zonder-javascript\/#webpage\",\"url\":\"https:\/\/denbeke.be\/blog\/webdevelopment\/css-simpele-popover-zonder-javascript\/\",\"name\":\"CSS: Simpele popover zonder javascript &ndash; DenBeke\",\"isPartOf\":{\"@id\":\"https:\/\/denbeke.be\/blog\/#website\"},\"datePublished\":\"2014-08-25T18:39:02+00:00\",\"dateModified\":\"2014-08-25T18:39:02+00:00\",\"author\":{\"@id\":\"https:\/\/denbeke.be\/blog\/#\/schema\/person\/386878f712fe3fe22227216f087772dc\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/denbeke.be\/blog\/webdevelopment\/css-simpele-popover-zonder-javascript\/\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/denbeke.be\/blog\/#\/schema\/person\/386878f712fe3fe22227216f087772dc\",\"name\":\"Mathias Beke\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/denbeke.be\/blog\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/015ba35e6ce4f5859e3888ca99807575?s=96&d=mm&r=g\",\"caption\":\"Mathias Beke\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/denbeke.be\/blog\/wp-json\/wp\/v2\/posts\/1534"}],"collection":[{"href":"https:\/\/denbeke.be\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/denbeke.be\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/denbeke.be\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/denbeke.be\/blog\/wp-json\/wp\/v2\/comments?post=1534"}],"version-history":[{"count":17,"href":"https:\/\/denbeke.be\/blog\/wp-json\/wp\/v2\/posts\/1534\/revisions"}],"predecessor-version":[{"id":1551,"href":"https:\/\/denbeke.be\/blog\/wp-json\/wp\/v2\/posts\/1534\/revisions\/1551"}],"wp:attachment":[{"href":"https:\/\/denbeke.be\/blog\/wp-json\/wp\/v2\/media?parent=1534"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/denbeke.be\/blog\/wp-json\/wp\/v2\/categories?post=1534"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/denbeke.be\/blog\/wp-json\/wp\/v2\/tags?post=1534"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}