Recentemente, eu e o João Mateus (@joaodavidmateus) criámos o Bom Bandido, um site onde partilhamos coisas que achamos importantes, interessantes, engraçadas ou simplesmente parvas.

just what_the world needed: another tech blog
Jump, sushi, jump |
Colorful graphics |
Play fun bonus games |
Play bonus game “Soy Catcher Extreme” to earn extra soy |
A "Aventura das Palavras" ajuda as crianças a treinar, de forma divertida, as competências implicadas na leitura, como a correspondência grafo-fonética (correspondência letra-som), fusão fonética e fusão silábica, trabalhando vários tipos de sílabas (das mais fáceis às mais difíceis) e os casos especiais da Língua Portuguesa.Façam download, avaliem a aplicação, façam reviews. Façam-nos ricos com esta aplicação... totalmente gratuita.
Dear Microsoft,
Recently you announced you will support Silverlight applications in your new, to be released, Windows Phone 7 series operative system. That’s great news.
Yesterday you announced a bunch of new products: Visual Studio 2010, .NET 4.0, Silverlight 4. Once again, great news.
Yesterday you also announced and a new mobile phone named KIN. Sadly it won’t support Windows Phone 7 yet, since the OS is not to be released before the holiday season.
Curious about the KIN, I browsed to its official site www.kin.com. Cool site, teenager oriented, lots of Flash animations and interactivity.
Wait, did I say Flash? No, it’s got to be Siverlight of course. Let me just check.
(… me browsing…)
Dear Microsoft,
Being a mature company as you are, I noticed you use Flash technology in some of your sites (specifically the KIN and the XBox web sites). Does this mean that we should be using it in our sites if we want to be successful too?
Thanks in advance.
Yours truly,
Tiago
<input id="fileName" class="file_input_textbox" readonly /> <div class="file_input_div"> <input type="file" /> </div>css:
.file_input_textbox { float: left } .file_input_div { position: relative; width: 100px; height: 23px; overflow: hidden; }screenshot:
<input type="text" id="fileName" class="file_input_textbox" readonly="readonly">
<div class="file_input_div">
<input type="file" class="file_input_hidden" />
</div>
css:.file_input_hidden { font-size: 23px; position: absolute; right: 0px; top: 0px; opacity: 0; }screenshot:
<input type="text" id="fileName" class="file_input_textbox" readonly="readonly">
<div class="file_input_div">
<input type="button" value="Search files" class="file_input_button" />
<input type="file" class="file_input_hidden" />
</div>
.file_input_button { width: 100px; position: absolute; top: 0px; background-color: #33BB00; color: #FFFFFF; border-style: solid; } .file_input_hidden { font-size: 45px; position: absolute; right: 0px; top: 0px; opacity: 0; filter: alpha(opacity=0); -ms-filter: "alpha(opacity=0)"; -khtml-opacity: 0; -moz-opacity: 0; }screenshot:
<input type="text" id="fileName" class="file_input_textbox" readonly="readonly">
<div class="file_input_div">
<input type="button" value="Search files" class="file_input_button" />
<input type="file" class="file_input_hidden" onchange="javascript: document.getElementById('fileName').value = this.value" />
</div>
And… voilá. It should be working. I’ve tested it in Firefox 3, IE6, IE7, IE8, Opera 10, Chrome 3 and it worked perfectly in all of them.//css
.file_input_textbox
{
float: left
}
.file_input_div
{
position: relative;
width: 100px;
height: 23px;
overflow: hidden;
}
.file_input_button
{
width: 100px;
position: absolute;
top: 0px;
background-color: #33BB00;
color: #FFFFFF;
border-style: solid;
}
.file_input_hidden
{
font-size: 45px;
position: absolute;
right: 0px;
top: 0px;
opacity: 0;
filter: alpha(opacity=0);
-ms-filter: "alpha(opacity=0)";
-khtml-opacity: 0;
-moz-opacity: 0;
}
//html
<input type="text" id="fileName" class="file_input_textbox" readonly="readonly">
<div class="file_input_div">
<input type="button" value="Search files" class="file_input_button" />
<input type="file" class="file_input_hidden" onchange="javascript: document.getElementById('fileName').value = this.value" />
</div>
There. I hope it works for you as well as it did for me. If you find it doesn't work that well, feel free to let me know. Here’s a great document by Luke Wroblewski concerning Web Forms Design theory:
http://www.lukew.com/resources/articles/WebForms_LukeW.pdf
Ever wondered if you should right or left align your fields’ labels? If you should put your labels on top of the fields, etc? It’s all there with lots of screen shots.