The way you write it is not possible: CSS does not rewrite your HTML, it merely changes the presentational aspect of the document. The best way is to write 'semantic' HTML, that is, HTML that contains the structure of your document but not the layout, and then use CSS to define how it is going to be laid out.
In your example, you probably want the div to contain a list of items, so the logical thing to do would be to use a <ul> instead of <div>, and <li> instead of the individual text items, e.g.:
<ul class="classname">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
With such markup in place, you can use CSS to style the list either way. For a desktop browser, you probably want to display the items vertically:
ul.classname {
/* First, override browser defaults: */
list-style: none;
padding: 0;
margin: 0;
text-indent: 0;
}
ul.li {
display: block;
padding: 0;
margin: 0;
text-indent: 0;
}
For a mobile browser, you may want them next to each other, and add a bit of spacing between them:
ul.li {
display: inline;
margin-right: 2em;
}
To hide an element entirely, use standard CSS techniques, that is, display: none.